/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data --core.log.level.for.class de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/prod4br-ll_valuebound100.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-34549b5 [2022-04-08 13:59:59,471 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-08 13:59:59,473 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-08 13:59:59,518 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-08 13:59:59,518 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-08 13:59:59,519 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-08 13:59:59,522 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-08 13:59:59,527 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-08 13:59:59,529 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-08 13:59:59,534 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-08 13:59:59,535 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-08 13:59:59,537 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-08 13:59:59,537 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-08 13:59:59,538 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-08 13:59:59,539 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-08 13:59:59,539 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-08 13:59:59,540 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-08 13:59:59,541 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-08 13:59:59,542 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-08 13:59:59,543 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-08 13:59:59,548 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-08 13:59:59,549 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-08 13:59:59,550 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-08 13:59:59,551 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-08 13:59:59,552 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-08 13:59:59,559 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-08 13:59:59,559 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-08 13:59:59,560 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-08 13:59:59,561 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-08 13:59:59,561 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-08 13:59:59,562 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-08 13:59:59,563 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-08 13:59:59,564 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-08 13:59:59,564 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-08 13:59:59,565 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-08 13:59:59,566 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-08 13:59:59,566 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-08 13:59:59,566 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-08 13:59:59,566 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-08 13:59:59,567 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-08 13:59:59,567 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-08 13:59:59,569 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-08 13:59:59,570 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf [2022-04-08 13:59:59,580 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-08 13:59:59,580 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-08 13:59:59,581 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-08 13:59:59,581 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-08 13:59:59,581 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-08 13:59:59,581 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-08 13:59:59,581 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-08 13:59:59,581 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-08 13:59:59,582 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-08 13:59:59,582 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-08 13:59:59,583 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-08 13:59:59,583 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-08 13:59:59,583 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-08 13:59:59,583 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-08 13:59:59,583 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-08 13:59:59,583 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 13:59:59,583 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-08 13:59:59,583 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-08 13:59:59,584 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-08 13:59:59,584 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-08 13:59:59,584 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-08 13:59:59,584 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=QVASR [2022-04-08 13:59:59,584 INFO L138 SettingsManager]: * Use separate solver for trace checks=false WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.core: Log level for class -> de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN; [2022-04-08 13:59:59,809 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-08 13:59:59,832 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-08 13:59:59,834 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-08 13:59:59,835 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-08 13:59:59,836 INFO L275 PluginConnector]: CDTParser initialized [2022-04-08 13:59:59,837 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/prod4br-ll_valuebound100.c [2022-04-08 13:59:59,885 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/dd21ea8b7/a342931e423c42cabf23cdc866079616/FLAGa8b4bd58d [2022-04-08 14:00:00,271 INFO L306 CDTParser]: Found 1 translation units. [2022-04-08 14:00:00,271 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/prod4br-ll_valuebound100.c [2022-04-08 14:00:00,276 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/dd21ea8b7/a342931e423c42cabf23cdc866079616/FLAGa8b4bd58d [2022-04-08 14:00:00,285 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/dd21ea8b7/a342931e423c42cabf23cdc866079616 [2022-04-08 14:00:00,287 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-08 14:00:00,288 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-08 14:00:00,289 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-08 14:00:00,290 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-08 14:00:00,292 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-08 14:00:00,293 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 02:00:00" (1/1) ... [2022-04-08 14:00:00,294 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@4f84abab and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 02:00:00, skipping insertion in model container [2022-04-08 14:00:00,294 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 02:00:00" (1/1) ... [2022-04-08 14:00:00,299 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-08 14:00:00,308 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-08 14:00:00,446 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/prod4br-ll_valuebound100.c[524,537] [2022-04-08 14:00:00,462 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 14:00:00,469 INFO L203 MainTranslator]: Completed pre-run [2022-04-08 14:00:00,479 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/prod4br-ll_valuebound100.c[524,537] [2022-04-08 14:00:00,487 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 14:00:00,497 INFO L208 MainTranslator]: Completed translation [2022-04-08 14:00:00,498 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 02:00:00 WrapperNode [2022-04-08 14:00:00,498 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-08 14:00:00,499 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-08 14:00:00,499 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-08 14:00:00,499 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-08 14:00:00,508 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 02:00:00" (1/1) ... [2022-04-08 14:00:00,508 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 02:00:00" (1/1) ... [2022-04-08 14:00:00,513 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 02:00:00" (1/1) ... [2022-04-08 14:00:00,513 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 02:00:00" (1/1) ... [2022-04-08 14:00:00,522 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 02:00:00" (1/1) ... [2022-04-08 14:00:00,531 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 02:00:00" (1/1) ... [2022-04-08 14:00:00,532 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 02:00:00" (1/1) ... [2022-04-08 14:00:00,534 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-08 14:00:00,535 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-08 14:00:00,535 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-08 14:00:00,535 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-08 14:00:00,535 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 02:00:00" (1/1) ... [2022-04-08 14:00:00,547 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 14:00:00,558 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 14:00:00,569 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-04-08 14:00:00,571 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-04-08 14:00:00,605 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-08 14:00:00,605 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-08 14:00:00,606 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-08 14:00:00,606 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-08 14:00:00,606 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-08 14:00:00,607 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-08 14:00:00,607 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-08 14:00:00,607 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-08 14:00:00,607 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-08 14:00:00,607 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-08 14:00:00,607 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-08 14:00:00,607 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-08 14:00:00,608 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-08 14:00:00,608 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-08 14:00:00,609 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-08 14:00:00,609 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-08 14:00:00,609 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-08 14:00:00,609 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-08 14:00:00,610 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-08 14:00:00,610 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-08 14:00:00,665 INFO L234 CfgBuilder]: Building ICFG [2022-04-08 14:00:00,666 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-08 14:00:00,829 INFO L275 CfgBuilder]: Performing block encoding [2022-04-08 14:00:00,835 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-08 14:00:00,835 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-08 14:00:00,836 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 02:00:00 BoogieIcfgContainer [2022-04-08 14:00:00,837 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-08 14:00:00,838 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-08 14:00:00,838 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-08 14:00:00,841 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-08 14:00:00,841 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 08.04 02:00:00" (1/3) ... [2022-04-08 14:00:00,841 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@4e10fccf and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 02:00:00, skipping insertion in model container [2022-04-08 14:00:00,841 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 02:00:00" (2/3) ... [2022-04-08 14:00:00,842 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@4e10fccf and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 02:00:00, skipping insertion in model container [2022-04-08 14:00:00,842 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 02:00:00" (3/3) ... [2022-04-08 14:00:00,843 INFO L111 eAbstractionObserver]: Analyzing ICFG prod4br-ll_valuebound100.c [2022-04-08 14:00:00,850 INFO L203 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-08 14:00:00,850 INFO L162 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-08 14:00:00,884 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-08 14:00:00,889 INFO L340 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=Craig_NestedInterpolation, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP [2022-04-08 14:00:00,890 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-08 14:00:00,924 INFO L276 IsEmpty]: Start isEmpty. Operand has 34 states, 20 states have (on average 1.45) internal successors, (29), 21 states have internal predecessors, (29), 8 states have call successors, (8), 4 states have call predecessors, (8), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 14:00:00,931 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-08 14:00:00,931 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 14:00:00,932 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 14:00:00,932 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 14:00:00,936 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 14:00:00,936 INFO L85 PathProgramCache]: Analyzing trace with hash 1738134960, now seen corresponding path program 1 times [2022-04-08 14:00:00,942 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 14:00:00,942 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [695925149] [2022-04-08 14:00:00,950 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 14:00:00,950 INFO L85 PathProgramCache]: Analyzing trace with hash 1738134960, now seen corresponding path program 2 times [2022-04-08 14:00:00,953 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 14:00:00,953 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [346546033] [2022-04-08 14:00:00,953 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 14:00:00,954 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 14:00:01,047 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 14:00:01,115 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 14:00:01,119 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 14:00:01,132 INFO L290 TraceCheckUtils]: 0: Hoare triple {54#(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(13, 2);call #Ultimate.allocInit(12, 3); {37#true} is VALID [2022-04-08 14:00:01,133 INFO L290 TraceCheckUtils]: 1: Hoare triple {37#true} assume true; {37#true} is VALID [2022-04-08 14:00:01,133 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {37#true} {37#true} #83#return; {37#true} is VALID [2022-04-08 14:00:01,134 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 14:00:01,140 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 14:00:01,155 INFO L290 TraceCheckUtils]: 0: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-08 14:00:01,156 INFO L290 TraceCheckUtils]: 1: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-08 14:00:01,156 INFO L290 TraceCheckUtils]: 2: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-08 14:00:01,157 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38#false} {37#true} #71#return; {38#false} is VALID [2022-04-08 14:00:01,157 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-08 14:00:01,159 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 14:00:01,169 INFO L290 TraceCheckUtils]: 0: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-08 14:00:01,169 INFO L290 TraceCheckUtils]: 1: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-08 14:00:01,170 INFO L290 TraceCheckUtils]: 2: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-08 14:00:01,170 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38#false} {38#false} #73#return; {38#false} is VALID [2022-04-08 14:00:01,170 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-08 14:00:01,172 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 14:00:01,182 INFO L290 TraceCheckUtils]: 0: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-08 14:00:01,182 INFO L290 TraceCheckUtils]: 1: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-08 14:00:01,182 INFO L290 TraceCheckUtils]: 2: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-08 14:00:01,183 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38#false} {38#false} #75#return; {38#false} is VALID [2022-04-08 14:00:01,185 INFO L272 TraceCheckUtils]: 0: Hoare triple {37#true} call ULTIMATE.init(); {54#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 14:00:01,185 INFO L290 TraceCheckUtils]: 1: Hoare triple {54#(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(13, 2);call #Ultimate.allocInit(12, 3); {37#true} is VALID [2022-04-08 14:00:01,185 INFO L290 TraceCheckUtils]: 2: Hoare triple {37#true} assume true; {37#true} is VALID [2022-04-08 14:00:01,185 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {37#true} {37#true} #83#return; {37#true} is VALID [2022-04-08 14:00:01,186 INFO L272 TraceCheckUtils]: 4: Hoare triple {37#true} call #t~ret6 := main(); {37#true} is VALID [2022-04-08 14:00:01,186 INFO L290 TraceCheckUtils]: 5: Hoare triple {37#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {37#true} is VALID [2022-04-08 14:00:01,186 INFO L272 TraceCheckUtils]: 6: Hoare triple {37#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {37#true} is VALID [2022-04-08 14:00:01,186 INFO L290 TraceCheckUtils]: 7: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-08 14:00:01,187 INFO L290 TraceCheckUtils]: 8: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-08 14:00:01,187 INFO L290 TraceCheckUtils]: 9: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-08 14:00:01,187 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {38#false} {37#true} #71#return; {38#false} is VALID [2022-04-08 14:00:01,188 INFO L290 TraceCheckUtils]: 11: Hoare triple {38#false} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {38#false} is VALID [2022-04-08 14:00:01,188 INFO L272 TraceCheckUtils]: 12: Hoare triple {38#false} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {37#true} is VALID [2022-04-08 14:00:01,188 INFO L290 TraceCheckUtils]: 13: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-08 14:00:01,189 INFO L290 TraceCheckUtils]: 14: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-08 14:00:01,189 INFO L290 TraceCheckUtils]: 15: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-08 14:00:01,190 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {38#false} {38#false} #73#return; {38#false} is VALID [2022-04-08 14:00:01,190 INFO L272 TraceCheckUtils]: 17: Hoare triple {38#false} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {37#true} is VALID [2022-04-08 14:00:01,190 INFO L290 TraceCheckUtils]: 18: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-08 14:00:01,191 INFO L290 TraceCheckUtils]: 19: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-08 14:00:01,191 INFO L290 TraceCheckUtils]: 20: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-08 14:00:01,191 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {38#false} {38#false} #75#return; {38#false} is VALID [2022-04-08 14:00:01,192 INFO L290 TraceCheckUtils]: 22: Hoare triple {38#false} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {38#false} is VALID [2022-04-08 14:00:01,192 INFO L290 TraceCheckUtils]: 23: Hoare triple {38#false} assume !true; {38#false} is VALID [2022-04-08 14:00:01,193 INFO L272 TraceCheckUtils]: 24: Hoare triple {38#false} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {38#false} is VALID [2022-04-08 14:00:01,194 INFO L290 TraceCheckUtils]: 25: Hoare triple {38#false} ~cond := #in~cond; {38#false} is VALID [2022-04-08 14:00:01,194 INFO L290 TraceCheckUtils]: 26: Hoare triple {38#false} assume 0 == ~cond; {38#false} is VALID [2022-04-08 14:00:01,194 INFO L290 TraceCheckUtils]: 27: Hoare triple {38#false} assume !false; {38#false} is VALID [2022-04-08 14:00:01,195 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-08 14:00:01,195 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 14:00:01,195 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [346546033] [2022-04-08 14:00:01,196 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [346546033] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 14:00:01,197 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 14:00:01,197 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-08 14:00:01,199 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 14:00:01,199 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [695925149] [2022-04-08 14:00:01,199 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [695925149] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 14:00:01,200 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 14:00:01,201 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-08 14:00:01,201 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1153523648] [2022-04-08 14:00:01,201 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 14:00:01,207 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, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-08 14:00:01,208 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 14:00:01,212 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, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 14:00:01,248 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 14:00:01,249 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-08 14:00:01,249 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 14:00:01,269 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-08 14:00:01,270 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-08 14:00:01,272 INFO L87 Difference]: Start difference. First operand has 34 states, 20 states have (on average 1.45) internal successors, (29), 21 states have internal predecessors, (29), 8 states have call successors, (8), 4 states have call predecessors, (8), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 14:00:01,456 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:00:01,456 INFO L93 Difference]: Finished difference Result 61 states and 88 transitions. [2022-04-08 14:00:01,456 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-08 14:00:01,457 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, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-08 14:00:01,457 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 14:00:01,458 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, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 14:00:01,466 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 88 transitions. [2022-04-08 14:00:01,467 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, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 14:00:01,474 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 88 transitions. [2022-04-08 14:00:01,474 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 88 transitions. [2022-04-08 14:00:01,572 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 88 edges. 88 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 14:00:01,580 INFO L225 Difference]: With dead ends: 61 [2022-04-08 14:00:01,580 INFO L226 Difference]: Without dead ends: 29 [2022-04-08 14:00:01,582 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 12 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-08 14:00:01,585 INFO L913 BasicCegarLoop]: 35 mSDtfsCounter, 22 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 8 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 28 SdHoareTripleChecker+Valid, 38 SdHoareTripleChecker+Invalid, 15 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 8 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 14:00:01,585 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [28 Valid, 38 Invalid, 15 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 8 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 14:00:01,603 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 29 states. [2022-04-08 14:00:01,625 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 29 to 29. [2022-04-08 14:00:01,625 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 14:00:01,626 INFO L82 GeneralOperation]: Start isEquivalent. First operand 29 states. Second operand has 29 states, 17 states have (on average 1.2941176470588236) internal successors, (22), 18 states have internal predecessors, (22), 8 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-08 14:00:01,627 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand has 29 states, 17 states have (on average 1.2941176470588236) internal successors, (22), 18 states have internal predecessors, (22), 8 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-08 14:00:01,627 INFO L87 Difference]: Start difference. First operand 29 states. Second operand has 29 states, 17 states have (on average 1.2941176470588236) internal successors, (22), 18 states have internal predecessors, (22), 8 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-08 14:00:01,643 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:00:01,644 INFO L93 Difference]: Finished difference Result 29 states and 36 transitions. [2022-04-08 14:00:01,644 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 36 transitions. [2022-04-08 14:00:01,645 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 14:00:01,645 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 14:00:01,645 INFO L74 IsIncluded]: Start isIncluded. First operand has 29 states, 17 states have (on average 1.2941176470588236) internal successors, (22), 18 states have internal predecessors, (22), 8 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 29 states. [2022-04-08 14:00:01,646 INFO L87 Difference]: Start difference. First operand has 29 states, 17 states have (on average 1.2941176470588236) internal successors, (22), 18 states have internal predecessors, (22), 8 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 29 states. [2022-04-08 14:00:01,650 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:00:01,650 INFO L93 Difference]: Finished difference Result 29 states and 36 transitions. [2022-04-08 14:00:01,650 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 36 transitions. [2022-04-08 14:00:01,651 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 14:00:01,651 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 14:00:01,651 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 14:00:01,651 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 14:00:01,652 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 29 states, 17 states have (on average 1.2941176470588236) internal successors, (22), 18 states have internal predecessors, (22), 8 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-08 14:00:01,654 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 36 transitions. [2022-04-08 14:00:01,656 INFO L78 Accepts]: Start accepts. Automaton has 29 states and 36 transitions. Word has length 28 [2022-04-08 14:00:01,656 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 14:00:01,656 INFO L478 AbstractCegarLoop]: Abstraction has 29 states and 36 transitions. [2022-04-08 14:00:01,656 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, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 14:00:01,657 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 29 states and 36 transitions. [2022-04-08 14:00:01,700 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 36 edges. 36 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 14:00:01,701 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 36 transitions. [2022-04-08 14:00:01,702 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-08 14:00:01,702 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 14:00:01,702 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 14:00:01,704 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-08 14:00:01,704 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 14:00:01,708 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 14:00:01,708 INFO L85 PathProgramCache]: Analyzing trace with hash 567203544, now seen corresponding path program 1 times [2022-04-08 14:00:01,708 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 14:00:01,708 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2013295989] [2022-04-08 14:00:01,709 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 14:00:01,709 INFO L85 PathProgramCache]: Analyzing trace with hash 567203544, now seen corresponding path program 2 times [2022-04-08 14:00:01,709 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 14:00:01,710 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1582675736] [2022-04-08 14:00:01,710 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 14:00:01,710 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 14:00:01,753 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 14:00:01,754 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [811233087] [2022-04-08 14:00:01,754 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 14:00:01,754 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 14:00:01,754 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 14:00:01,763 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 14:00:01,802 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-04-08 14:00:01,835 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-08 14:00:01,835 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 14:00:01,837 INFO L263 TraceCheckSpWp]: Trace formula consists of 70 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-08 14:00:01,850 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 14:00:01,855 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 14:00:02,070 INFO L272 TraceCheckUtils]: 0: Hoare triple {295#true} call ULTIMATE.init(); {295#true} is VALID [2022-04-08 14:00:02,070 INFO L290 TraceCheckUtils]: 1: Hoare triple {295#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {295#true} is VALID [2022-04-08 14:00:02,070 INFO L290 TraceCheckUtils]: 2: Hoare triple {295#true} assume true; {295#true} is VALID [2022-04-08 14:00:02,071 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {295#true} {295#true} #83#return; {295#true} is VALID [2022-04-08 14:00:02,071 INFO L272 TraceCheckUtils]: 4: Hoare triple {295#true} call #t~ret6 := main(); {295#true} is VALID [2022-04-08 14:00:02,074 INFO L290 TraceCheckUtils]: 5: Hoare triple {295#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {295#true} is VALID [2022-04-08 14:00:02,074 INFO L272 TraceCheckUtils]: 6: Hoare triple {295#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {295#true} is VALID [2022-04-08 14:00:02,074 INFO L290 TraceCheckUtils]: 7: Hoare triple {295#true} ~cond := #in~cond; {295#true} is VALID [2022-04-08 14:00:02,075 INFO L290 TraceCheckUtils]: 8: Hoare triple {295#true} assume !(0 == ~cond); {295#true} is VALID [2022-04-08 14:00:02,076 INFO L290 TraceCheckUtils]: 9: Hoare triple {295#true} assume true; {295#true} is VALID [2022-04-08 14:00:02,077 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {295#true} {295#true} #71#return; {295#true} is VALID [2022-04-08 14:00:02,077 INFO L290 TraceCheckUtils]: 11: Hoare triple {295#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {295#true} is VALID [2022-04-08 14:00:02,077 INFO L272 TraceCheckUtils]: 12: Hoare triple {295#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {295#true} is VALID [2022-04-08 14:00:02,077 INFO L290 TraceCheckUtils]: 13: Hoare triple {295#true} ~cond := #in~cond; {295#true} is VALID [2022-04-08 14:00:02,077 INFO L290 TraceCheckUtils]: 14: Hoare triple {295#true} assume !(0 == ~cond); {295#true} is VALID [2022-04-08 14:00:02,078 INFO L290 TraceCheckUtils]: 15: Hoare triple {295#true} assume true; {295#true} is VALID [2022-04-08 14:00:02,078 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {295#true} {295#true} #73#return; {295#true} is VALID [2022-04-08 14:00:02,079 INFO L272 TraceCheckUtils]: 17: Hoare triple {295#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {295#true} is VALID [2022-04-08 14:00:02,079 INFO L290 TraceCheckUtils]: 18: Hoare triple {295#true} ~cond := #in~cond; {295#true} is VALID [2022-04-08 14:00:02,079 INFO L290 TraceCheckUtils]: 19: Hoare triple {295#true} assume !(0 == ~cond); {295#true} is VALID [2022-04-08 14:00:02,079 INFO L290 TraceCheckUtils]: 20: Hoare triple {295#true} assume true; {295#true} is VALID [2022-04-08 14:00:02,080 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {295#true} {295#true} #75#return; {295#true} is VALID [2022-04-08 14:00:02,080 INFO L290 TraceCheckUtils]: 22: Hoare triple {295#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {366#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 14:00:02,081 INFO L290 TraceCheckUtils]: 23: Hoare triple {366#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {366#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 14:00:02,082 INFO L272 TraceCheckUtils]: 24: Hoare triple {366#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {373#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 14:00:02,083 INFO L290 TraceCheckUtils]: 25: Hoare triple {373#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {377#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 14:00:02,084 INFO L290 TraceCheckUtils]: 26: Hoare triple {377#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {296#false} is VALID [2022-04-08 14:00:02,084 INFO L290 TraceCheckUtils]: 27: Hoare triple {296#false} assume !false; {296#false} is VALID [2022-04-08 14:00:02,085 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-08 14:00:02,085 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 14:00:02,085 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 14:00:02,085 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1582675736] [2022-04-08 14:00:02,085 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 14:00:02,086 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [811233087] [2022-04-08 14:00:02,087 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [811233087] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 14:00:02,087 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 14:00:02,087 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 14:00:02,088 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 14:00:02,088 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2013295989] [2022-04-08 14:00:02,088 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2013295989] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 14:00:02,088 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 14:00:02,088 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 14:00:02,089 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1007674241] [2022-04-08 14:00:02,089 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 14:00:02,089 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 28 [2022-04-08 14:00:02,090 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 14:00:02,090 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-08 14:00:02,116 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 14:00:02,116 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 14:00:02,116 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 14:00:02,118 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 14:00:02,118 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-08 14:00:02,118 INFO L87 Difference]: Start difference. First operand 29 states and 36 transitions. Second operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-08 14:00:02,343 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:00:02,343 INFO L93 Difference]: Finished difference Result 43 states and 55 transitions. [2022-04-08 14:00:02,343 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 14:00:02,343 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 28 [2022-04-08 14:00:02,344 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 14:00:02,344 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-08 14:00:02,347 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 55 transitions. [2022-04-08 14:00:02,347 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-08 14:00:02,349 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 55 transitions. [2022-04-08 14:00:02,350 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 55 transitions. [2022-04-08 14:00:02,412 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 14:00:02,414 INFO L225 Difference]: With dead ends: 43 [2022-04-08 14:00:02,414 INFO L226 Difference]: Without dead ends: 41 [2022-04-08 14:00:02,415 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 28 GetRequests, 24 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-08 14:00:02,416 INFO L913 BasicCegarLoop]: 27 mSDtfsCounter, 9 mSDsluCounter, 65 mSDsCounter, 0 mSdLazyCounter, 57 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 92 SdHoareTripleChecker+Invalid, 57 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 57 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 14:00:02,417 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [11 Valid, 92 Invalid, 57 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 57 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 14:00:02,417 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 41 states. [2022-04-08 14:00:02,428 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 41 to 35. [2022-04-08 14:00:02,428 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 14:00:02,429 INFO L82 GeneralOperation]: Start isEquivalent. First operand 41 states. Second operand has 35 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 9 states have call successors, (9), 5 states have call predecessors, (9), 4 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-08 14:00:02,429 INFO L74 IsIncluded]: Start isIncluded. First operand 41 states. Second operand has 35 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 9 states have call successors, (9), 5 states have call predecessors, (9), 4 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-08 14:00:02,430 INFO L87 Difference]: Start difference. First operand 41 states. Second operand has 35 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 9 states have call successors, (9), 5 states have call predecessors, (9), 4 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-08 14:00:02,433 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:00:02,433 INFO L93 Difference]: Finished difference Result 41 states and 53 transitions. [2022-04-08 14:00:02,434 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 53 transitions. [2022-04-08 14:00:02,434 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 14:00:02,435 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 14:00:02,435 INFO L74 IsIncluded]: Start isIncluded. First operand has 35 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 9 states have call successors, (9), 5 states have call predecessors, (9), 4 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 41 states. [2022-04-08 14:00:02,435 INFO L87 Difference]: Start difference. First operand has 35 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 9 states have call successors, (9), 5 states have call predecessors, (9), 4 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 41 states. [2022-04-08 14:00:02,438 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:00:02,438 INFO L93 Difference]: Finished difference Result 41 states and 53 transitions. [2022-04-08 14:00:02,438 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 53 transitions. [2022-04-08 14:00:02,439 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 14:00:02,439 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 14:00:02,439 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 14:00:02,439 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 14:00:02,440 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 35 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 9 states have call successors, (9), 5 states have call predecessors, (9), 4 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-08 14:00:02,442 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 42 transitions. [2022-04-08 14:00:02,442 INFO L78 Accepts]: Start accepts. Automaton has 35 states and 42 transitions. Word has length 28 [2022-04-08 14:00:02,442 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 14:00:02,443 INFO L478 AbstractCegarLoop]: Abstraction has 35 states and 42 transitions. [2022-04-08 14:00:02,443 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-08 14:00:02,443 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 35 states and 42 transitions. [2022-04-08 14:00:02,493 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 14:00:02,494 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 42 transitions. [2022-04-08 14:00:02,495 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-04-08 14:00:02,495 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 14:00:02,495 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 14:00:02,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-08 14:00:02,708 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 14:00:02,709 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 14:00:02,709 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 14:00:02,709 INFO L85 PathProgramCache]: Analyzing trace with hash -1139707498, now seen corresponding path program 1 times [2022-04-08 14:00:02,709 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 14:00:02,709 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [852899477] [2022-04-08 14:00:02,710 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 14:00:02,710 INFO L85 PathProgramCache]: Analyzing trace with hash -1139707498, now seen corresponding path program 2 times [2022-04-08 14:00:02,710 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 14:00:02,710 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [464521724] [2022-04-08 14:00:02,710 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 14:00:02,711 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 14:00:02,735 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 14:00:02,736 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [978607576] [2022-04-08 14:00:02,736 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 14:00:02,736 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 14:00:02,736 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 14:00:02,742 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 14:00:02,748 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-04-08 14:00:02,797 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 14:00:02,798 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 14:00:02,799 INFO L263 TraceCheckSpWp]: Trace formula consists of 102 conjuncts, 21 conjunts are in the unsatisfiable core [2022-04-08 14:00:02,812 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 14:00:02,813 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 14:00:13,625 INFO L272 TraceCheckUtils]: 0: Hoare triple {623#true} call ULTIMATE.init(); {623#true} is VALID [2022-04-08 14:00:13,625 INFO L290 TraceCheckUtils]: 1: Hoare triple {623#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {623#true} is VALID [2022-04-08 14:00:13,626 INFO L290 TraceCheckUtils]: 2: Hoare triple {623#true} assume true; {623#true} is VALID [2022-04-08 14:00:13,626 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {623#true} {623#true} #83#return; {623#true} is VALID [2022-04-08 14:00:13,626 INFO L272 TraceCheckUtils]: 4: Hoare triple {623#true} call #t~ret6 := main(); {623#true} is VALID [2022-04-08 14:00:13,626 INFO L290 TraceCheckUtils]: 5: Hoare triple {623#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {623#true} is VALID [2022-04-08 14:00:13,626 INFO L272 TraceCheckUtils]: 6: Hoare triple {623#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {623#true} is VALID [2022-04-08 14:00:13,627 INFO L290 TraceCheckUtils]: 7: Hoare triple {623#true} ~cond := #in~cond; {649#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 14:00:13,627 INFO L290 TraceCheckUtils]: 8: Hoare triple {649#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {653#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 14:00:13,628 INFO L290 TraceCheckUtils]: 9: Hoare triple {653#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {653#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 14:00:13,629 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {653#(not (= |assume_abort_if_not_#in~cond| 0))} {623#true} #71#return; {660#(and (<= 0 main_~x~0) (<= main_~x~0 100))} is VALID [2022-04-08 14:00:13,629 INFO L290 TraceCheckUtils]: 11: Hoare triple {660#(and (<= 0 main_~x~0) (<= main_~x~0 100))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {660#(and (<= 0 main_~x~0) (<= main_~x~0 100))} is VALID [2022-04-08 14:00:13,629 INFO L272 TraceCheckUtils]: 12: Hoare triple {660#(and (<= 0 main_~x~0) (<= main_~x~0 100))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {623#true} is VALID [2022-04-08 14:00:13,630 INFO L290 TraceCheckUtils]: 13: Hoare triple {623#true} ~cond := #in~cond; {623#true} is VALID [2022-04-08 14:00:13,630 INFO L290 TraceCheckUtils]: 14: Hoare triple {623#true} assume !(0 == ~cond); {623#true} is VALID [2022-04-08 14:00:13,630 INFO L290 TraceCheckUtils]: 15: Hoare triple {623#true} assume true; {623#true} is VALID [2022-04-08 14:00:13,630 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {623#true} {660#(and (<= 0 main_~x~0) (<= main_~x~0 100))} #73#return; {660#(and (<= 0 main_~x~0) (<= main_~x~0 100))} is VALID [2022-04-08 14:00:13,631 INFO L272 TraceCheckUtils]: 17: Hoare triple {660#(and (<= 0 main_~x~0) (<= main_~x~0 100))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {623#true} is VALID [2022-04-08 14:00:13,631 INFO L290 TraceCheckUtils]: 18: Hoare triple {623#true} ~cond := #in~cond; {649#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 14:00:13,632 INFO L290 TraceCheckUtils]: 19: Hoare triple {649#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {653#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 14:00:13,632 INFO L290 TraceCheckUtils]: 20: Hoare triple {653#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {653#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 14:00:13,633 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {653#(not (= |assume_abort_if_not_#in~cond| 0))} {660#(and (<= 0 main_~x~0) (<= main_~x~0 100))} #75#return; {694#(and (<= 0 main_~x~0) (<= main_~x~0 100) (<= 1 main_~y~0))} is VALID [2022-04-08 14:00:13,633 INFO L290 TraceCheckUtils]: 22: Hoare triple {694#(and (<= 0 main_~x~0) (<= main_~x~0 100) (<= 1 main_~y~0))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {698#(and (<= 0 main_~x~0) (<= main_~y~0 main_~b~0) (<= main_~x~0 main_~a~0) (<= main_~x~0 100) (<= 1 main_~y~0))} is VALID [2022-04-08 14:00:13,634 INFO L290 TraceCheckUtils]: 23: Hoare triple {698#(and (<= 0 main_~x~0) (<= main_~y~0 main_~b~0) (<= main_~x~0 main_~a~0) (<= main_~x~0 100) (<= 1 main_~y~0))} assume !false; {698#(and (<= 0 main_~x~0) (<= main_~y~0 main_~b~0) (<= main_~x~0 main_~a~0) (<= main_~x~0 100) (<= 1 main_~y~0))} is VALID [2022-04-08 14:00:13,634 INFO L272 TraceCheckUtils]: 24: Hoare triple {698#(and (<= 0 main_~x~0) (<= main_~y~0 main_~b~0) (<= main_~x~0 main_~a~0) (<= main_~x~0 100) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {623#true} is VALID [2022-04-08 14:00:13,635 INFO L290 TraceCheckUtils]: 25: Hoare triple {623#true} ~cond := #in~cond; {708#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 14:00:13,635 INFO L290 TraceCheckUtils]: 26: Hoare triple {708#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {712#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 14:00:13,636 INFO L290 TraceCheckUtils]: 27: Hoare triple {712#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {712#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 14:00:15,638 WARN L284 TraceCheckUtils]: 28: Hoare quadruple {712#(not (= |__VERIFIER_assert_#in~cond| 0))} {698#(and (<= 0 main_~x~0) (<= main_~y~0 main_~b~0) (<= main_~x~0 main_~a~0) (<= main_~x~0 100) (<= 1 main_~y~0))} #77#return; {719#(and (<= 0 main_~x~0) (or (and (= (mod (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) (* main_~b~0 main_~a~0)) 0) (not (= main_~a~0 0))) (= (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) 0)) (<= main_~y~0 main_~b~0) (<= main_~x~0 main_~a~0) (<= main_~x~0 100) (<= 1 main_~y~0))} is UNKNOWN [2022-04-08 14:00:15,639 INFO L290 TraceCheckUtils]: 29: Hoare triple {719#(and (<= 0 main_~x~0) (or (and (= (mod (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) (* main_~b~0 main_~a~0)) 0) (not (= main_~a~0 0))) (= (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) 0)) (<= main_~y~0 main_~b~0) (<= main_~x~0 main_~a~0) (<= main_~x~0 100) (<= 1 main_~y~0))} assume !(0 != ~a~0 && 0 != ~b~0); {723#(and (<= main_~x~0 0) (<= 0 main_~x~0) (= main_~q~0 (* main_~y~0 main_~x~0)) (<= 1 main_~y~0))} is VALID [2022-04-08 14:00:15,640 INFO L272 TraceCheckUtils]: 30: Hoare triple {723#(and (<= main_~x~0 0) (<= 0 main_~x~0) (= main_~q~0 (* main_~y~0 main_~x~0)) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {727#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 14:00:15,641 INFO L290 TraceCheckUtils]: 31: Hoare triple {727#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {731#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 14:00:15,641 INFO L290 TraceCheckUtils]: 32: Hoare triple {731#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {624#false} is VALID [2022-04-08 14:00:15,642 INFO L290 TraceCheckUtils]: 33: Hoare triple {624#false} assume !false; {624#false} is VALID [2022-04-08 14:00:15,642 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 4 proven. 4 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-08 14:00:15,642 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 14:00:28,341 INFO L290 TraceCheckUtils]: 33: Hoare triple {624#false} assume !false; {624#false} is VALID [2022-04-08 14:00:28,341 INFO L290 TraceCheckUtils]: 32: Hoare triple {731#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {624#false} is VALID [2022-04-08 14:00:28,342 INFO L290 TraceCheckUtils]: 31: Hoare triple {727#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {731#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 14:00:28,343 INFO L272 TraceCheckUtils]: 30: Hoare triple {747#(= main_~q~0 (* main_~y~0 main_~x~0))} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {727#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 14:00:28,344 INFO L290 TraceCheckUtils]: 29: Hoare triple {751#(or (= main_~q~0 (* main_~y~0 main_~x~0)) (and (not (= main_~b~0 0)) (not (= main_~a~0 0))))} assume !(0 != ~a~0 && 0 != ~b~0); {747#(= main_~q~0 (* main_~y~0 main_~x~0))} is VALID [2022-04-08 14:00:28,346 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {712#(not (= |__VERIFIER_assert_#in~cond| 0))} {623#true} #77#return; {751#(or (= main_~q~0 (* main_~y~0 main_~x~0)) (and (not (= main_~b~0 0)) (not (= main_~a~0 0))))} is VALID [2022-04-08 14:00:28,346 INFO L290 TraceCheckUtils]: 27: Hoare triple {712#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {712#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 14:00:28,347 INFO L290 TraceCheckUtils]: 26: Hoare triple {764#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {712#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 14:00:28,348 INFO L290 TraceCheckUtils]: 25: Hoare triple {623#true} ~cond := #in~cond; {764#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 14:00:28,348 INFO L272 TraceCheckUtils]: 24: Hoare triple {623#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {623#true} is VALID [2022-04-08 14:00:28,348 INFO L290 TraceCheckUtils]: 23: Hoare triple {623#true} assume !false; {623#true} is VALID [2022-04-08 14:00:28,348 INFO L290 TraceCheckUtils]: 22: Hoare triple {623#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {623#true} is VALID [2022-04-08 14:00:28,349 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {623#true} {623#true} #75#return; {623#true} is VALID [2022-04-08 14:00:28,349 INFO L290 TraceCheckUtils]: 20: Hoare triple {623#true} assume true; {623#true} is VALID [2022-04-08 14:00:28,349 INFO L290 TraceCheckUtils]: 19: Hoare triple {623#true} assume !(0 == ~cond); {623#true} is VALID [2022-04-08 14:00:28,349 INFO L290 TraceCheckUtils]: 18: Hoare triple {623#true} ~cond := #in~cond; {623#true} is VALID [2022-04-08 14:00:28,349 INFO L272 TraceCheckUtils]: 17: Hoare triple {623#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {623#true} is VALID [2022-04-08 14:00:28,349 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {623#true} {623#true} #73#return; {623#true} is VALID [2022-04-08 14:00:28,350 INFO L290 TraceCheckUtils]: 15: Hoare triple {623#true} assume true; {623#true} is VALID [2022-04-08 14:00:28,350 INFO L290 TraceCheckUtils]: 14: Hoare triple {623#true} assume !(0 == ~cond); {623#true} is VALID [2022-04-08 14:00:28,350 INFO L290 TraceCheckUtils]: 13: Hoare triple {623#true} ~cond := #in~cond; {623#true} is VALID [2022-04-08 14:00:28,350 INFO L272 TraceCheckUtils]: 12: Hoare triple {623#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {623#true} is VALID [2022-04-08 14:00:28,350 INFO L290 TraceCheckUtils]: 11: Hoare triple {623#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {623#true} is VALID [2022-04-08 14:00:28,351 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {623#true} {623#true} #71#return; {623#true} is VALID [2022-04-08 14:00:28,351 INFO L290 TraceCheckUtils]: 9: Hoare triple {623#true} assume true; {623#true} is VALID [2022-04-08 14:00:28,351 INFO L290 TraceCheckUtils]: 8: Hoare triple {623#true} assume !(0 == ~cond); {623#true} is VALID [2022-04-08 14:00:28,351 INFO L290 TraceCheckUtils]: 7: Hoare triple {623#true} ~cond := #in~cond; {623#true} is VALID [2022-04-08 14:00:28,351 INFO L272 TraceCheckUtils]: 6: Hoare triple {623#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {623#true} is VALID [2022-04-08 14:00:28,351 INFO L290 TraceCheckUtils]: 5: Hoare triple {623#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {623#true} is VALID [2022-04-08 14:00:28,352 INFO L272 TraceCheckUtils]: 4: Hoare triple {623#true} call #t~ret6 := main(); {623#true} is VALID [2022-04-08 14:00:28,352 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {623#true} {623#true} #83#return; {623#true} is VALID [2022-04-08 14:00:28,352 INFO L290 TraceCheckUtils]: 2: Hoare triple {623#true} assume true; {623#true} is VALID [2022-04-08 14:00:28,352 INFO L290 TraceCheckUtils]: 1: Hoare triple {623#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {623#true} is VALID [2022-04-08 14:00:28,352 INFO L272 TraceCheckUtils]: 0: Hoare triple {623#true} call ULTIMATE.init(); {623#true} is VALID [2022-04-08 14:00:28,353 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-08 14:00:28,353 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 14:00:28,353 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [464521724] [2022-04-08 14:00:28,353 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 14:00:28,353 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [978607576] [2022-04-08 14:00:28,354 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [978607576] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 14:00:28,354 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 14:00:28,354 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 8] total 16 [2022-04-08 14:00:28,354 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 14:00:28,354 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [852899477] [2022-04-08 14:00:28,354 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [852899477] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 14:00:28,354 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 14:00:28,355 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-08 14:00:28,355 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1480136008] [2022-04-08 14:00:28,355 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 14:00:28,355 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 1.5833333333333333) internal successors, (19), 10 states have internal predecessors, (19), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) Word has length 34 [2022-04-08 14:00:28,356 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 14:00:28,356 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 12 states have (on average 1.5833333333333333) internal successors, (19), 10 states have internal predecessors, (19), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 14:00:30,391 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 30 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-08 14:00:30,392 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-08 14:00:30,392 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 14:00:30,392 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-08 14:00:30,392 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=195, Unknown=0, NotChecked=0, Total=240 [2022-04-08 14:00:30,393 INFO L87 Difference]: Start difference. First operand 35 states and 42 transitions. Second operand has 13 states, 12 states have (on average 1.5833333333333333) internal successors, (19), 10 states have internal predecessors, (19), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 14:00:33,500 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 14:00:36,623 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.01s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 14:00:36,801 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:00:36,801 INFO L93 Difference]: Finished difference Result 47 states and 58 transitions. [2022-04-08 14:00:36,801 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-08 14:00:36,802 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 1.5833333333333333) internal successors, (19), 10 states have internal predecessors, (19), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) Word has length 34 [2022-04-08 14:00:36,802 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 14:00:36,802 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 1.5833333333333333) internal successors, (19), 10 states have internal predecessors, (19), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 14:00:36,805 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 55 transitions. [2022-04-08 14:00:36,805 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 1.5833333333333333) internal successors, (19), 10 states have internal predecessors, (19), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 14:00:36,807 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 55 transitions. [2022-04-08 14:00:36,807 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 55 transitions. [2022-04-08 14:00:36,866 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 14:00:36,868 INFO L225 Difference]: With dead ends: 47 [2022-04-08 14:00:36,868 INFO L226 Difference]: Without dead ends: 45 [2022-04-08 14:00:36,869 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 71 GetRequests, 52 SyntacticMatches, 1 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 56 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=71, Invalid=309, Unknown=0, NotChecked=0, Total=380 [2022-04-08 14:00:36,870 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 26 mSDsluCounter, 117 mSDsCounter, 0 mSdLazyCounter, 227 mSolverCounterSat, 10 mSolverCounterUnsat, 2 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 5.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 137 SdHoareTripleChecker+Invalid, 239 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 227 IncrementalHoareTripleChecker+Invalid, 2 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 5.4s IncrementalHoareTripleChecker+Time [2022-04-08 14:00:36,870 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [29 Valid, 137 Invalid, 239 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 227 Invalid, 2 Unknown, 0 Unchecked, 5.4s Time] [2022-04-08 14:00:36,871 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 45 states. [2022-04-08 14:00:36,917 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 45 to 41. [2022-04-08 14:00:36,917 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 14:00:36,917 INFO L82 GeneralOperation]: Start isEquivalent. First operand 45 states. Second operand has 41 states, 25 states have (on average 1.24) internal successors, (31), 27 states have internal predecessors, (31), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 14:00:36,918 INFO L74 IsIncluded]: Start isIncluded. First operand 45 states. Second operand has 41 states, 25 states have (on average 1.24) internal successors, (31), 27 states have internal predecessors, (31), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 14:00:36,918 INFO L87 Difference]: Start difference. First operand 45 states. Second operand has 41 states, 25 states have (on average 1.24) internal successors, (31), 27 states have internal predecessors, (31), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 14:00:36,921 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:00:36,921 INFO L93 Difference]: Finished difference Result 45 states and 56 transitions. [2022-04-08 14:00:36,921 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 56 transitions. [2022-04-08 14:00:36,922 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 14:00:36,922 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 14:00:36,922 INFO L74 IsIncluded]: Start isIncluded. First operand has 41 states, 25 states have (on average 1.24) internal successors, (31), 27 states have internal predecessors, (31), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 45 states. [2022-04-08 14:00:36,922 INFO L87 Difference]: Start difference. First operand has 41 states, 25 states have (on average 1.24) internal successors, (31), 27 states have internal predecessors, (31), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 45 states. [2022-04-08 14:00:36,925 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:00:36,925 INFO L93 Difference]: Finished difference Result 45 states and 56 transitions. [2022-04-08 14:00:36,925 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 56 transitions. [2022-04-08 14:00:36,926 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 14:00:36,926 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 14:00:36,926 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 14:00:36,926 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 14:00:36,926 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 41 states, 25 states have (on average 1.24) internal successors, (31), 27 states have internal predecessors, (31), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 14:00:36,928 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 49 transitions. [2022-04-08 14:00:36,929 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 49 transitions. Word has length 34 [2022-04-08 14:00:36,929 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 14:00:36,929 INFO L478 AbstractCegarLoop]: Abstraction has 41 states and 49 transitions. [2022-04-08 14:00:36,929 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 12 states have (on average 1.5833333333333333) internal successors, (19), 10 states have internal predecessors, (19), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 14:00:36,929 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 41 states and 49 transitions. [2022-04-08 14:00:36,996 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 14:00:36,996 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 49 transitions. [2022-04-08 14:00:36,997 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2022-04-08 14:00:36,997 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 14:00:36,997 INFO L499 BasicCegarLoop]: trace histogram [3, 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] [2022-04-08 14:00:37,023 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-04-08 14:00:37,197 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable2 [2022-04-08 14:00:37,198 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 14:00:37,198 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 14:00:37,198 INFO L85 PathProgramCache]: Analyzing trace with hash 412541489, now seen corresponding path program 1 times [2022-04-08 14:00:37,198 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 14:00:37,199 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [31347742] [2022-04-08 14:00:37,199 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 14:00:37,199 INFO L85 PathProgramCache]: Analyzing trace with hash 412541489, now seen corresponding path program 2 times [2022-04-08 14:00:37,199 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 14:00:37,199 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2071583865] [2022-04-08 14:00:37,199 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 14:00:37,200 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 14:00:37,226 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 14:00:37,226 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [245248828] [2022-04-08 14:00:37,226 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 14:00:37,227 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 14:00:37,227 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 14:00:37,244 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 14:00:37,287 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-04-08 14:00:37,309 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 14:00:37,309 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 14:00:37,310 INFO L263 TraceCheckSpWp]: Trace formula consists of 114 conjuncts, 30 conjunts are in the unsatisfiable core [2022-04-08 14:00:37,327 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 14:00:37,330 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 14:00:40,532 INFO L272 TraceCheckUtils]: 0: Hoare triple {1116#true} call ULTIMATE.init(); {1116#true} is VALID [2022-04-08 14:00:40,532 INFO L290 TraceCheckUtils]: 1: Hoare triple {1116#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {1116#true} is VALID [2022-04-08 14:00:40,532 INFO L290 TraceCheckUtils]: 2: Hoare triple {1116#true} assume true; {1116#true} is VALID [2022-04-08 14:00:40,533 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1116#true} {1116#true} #83#return; {1116#true} is VALID [2022-04-08 14:00:40,533 INFO L272 TraceCheckUtils]: 4: Hoare triple {1116#true} call #t~ret6 := main(); {1116#true} is VALID [2022-04-08 14:00:40,533 INFO L290 TraceCheckUtils]: 5: Hoare triple {1116#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {1116#true} is VALID [2022-04-08 14:00:40,533 INFO L272 TraceCheckUtils]: 6: Hoare triple {1116#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {1116#true} is VALID [2022-04-08 14:00:40,534 INFO L290 TraceCheckUtils]: 7: Hoare triple {1116#true} ~cond := #in~cond; {1142#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 14:00:40,534 INFO L290 TraceCheckUtils]: 8: Hoare triple {1142#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1146#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 14:00:40,534 INFO L290 TraceCheckUtils]: 9: Hoare triple {1146#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1146#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 14:00:40,535 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1146#(not (= |assume_abort_if_not_#in~cond| 0))} {1116#true} #71#return; {1153#(and (<= 0 main_~x~0) (<= main_~x~0 100))} is VALID [2022-04-08 14:00:40,536 INFO L290 TraceCheckUtils]: 11: Hoare triple {1153#(and (<= 0 main_~x~0) (<= main_~x~0 100))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1153#(and (<= 0 main_~x~0) (<= main_~x~0 100))} is VALID [2022-04-08 14:00:40,536 INFO L272 TraceCheckUtils]: 12: Hoare triple {1153#(and (<= 0 main_~x~0) (<= main_~x~0 100))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {1116#true} is VALID [2022-04-08 14:00:40,536 INFO L290 TraceCheckUtils]: 13: Hoare triple {1116#true} ~cond := #in~cond; {1116#true} is VALID [2022-04-08 14:00:40,536 INFO L290 TraceCheckUtils]: 14: Hoare triple {1116#true} assume !(0 == ~cond); {1116#true} is VALID [2022-04-08 14:00:40,536 INFO L290 TraceCheckUtils]: 15: Hoare triple {1116#true} assume true; {1116#true} is VALID [2022-04-08 14:00:40,537 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1116#true} {1153#(and (<= 0 main_~x~0) (<= main_~x~0 100))} #73#return; {1153#(and (<= 0 main_~x~0) (<= main_~x~0 100))} is VALID [2022-04-08 14:00:40,537 INFO L272 TraceCheckUtils]: 17: Hoare triple {1153#(and (<= 0 main_~x~0) (<= main_~x~0 100))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1116#true} is VALID [2022-04-08 14:00:40,537 INFO L290 TraceCheckUtils]: 18: Hoare triple {1116#true} ~cond := #in~cond; {1142#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 14:00:40,538 INFO L290 TraceCheckUtils]: 19: Hoare triple {1142#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1146#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 14:00:40,538 INFO L290 TraceCheckUtils]: 20: Hoare triple {1146#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1146#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 14:00:40,539 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1146#(not (= |assume_abort_if_not_#in~cond| 0))} {1153#(and (<= 0 main_~x~0) (<= main_~x~0 100))} #75#return; {1187#(and (<= 0 main_~x~0) (<= main_~x~0 100) (<= 1 main_~y~0))} is VALID [2022-04-08 14:00:40,540 INFO L290 TraceCheckUtils]: 22: Hoare triple {1187#(and (<= 0 main_~x~0) (<= main_~x~0 100) (<= 1 main_~y~0))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {1191#(and (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 100) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 14:00:40,540 INFO L290 TraceCheckUtils]: 23: Hoare triple {1191#(and (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 100) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {1191#(and (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 100) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 14:00:40,540 INFO L272 TraceCheckUtils]: 24: Hoare triple {1191#(and (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 100) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {1116#true} is VALID [2022-04-08 14:00:40,541 INFO L290 TraceCheckUtils]: 25: Hoare triple {1116#true} ~cond := #in~cond; {1116#true} is VALID [2022-04-08 14:00:40,541 INFO L290 TraceCheckUtils]: 26: Hoare triple {1116#true} assume !(0 == ~cond); {1116#true} is VALID [2022-04-08 14:00:40,541 INFO L290 TraceCheckUtils]: 27: Hoare triple {1116#true} assume true; {1116#true} is VALID [2022-04-08 14:00:40,544 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1116#true} {1191#(and (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 100) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #77#return; {1191#(and (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 100) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 14:00:40,544 INFO L290 TraceCheckUtils]: 29: Hoare triple {1191#(and (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 100) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~a~0 && 0 != ~b~0); {1191#(and (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 100) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 14:00:40,552 INFO L290 TraceCheckUtils]: 30: Hoare triple {1191#(and (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 100) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {1216#(and (= (div main_~y~0 2) main_~b~0) (<= 0 main_~x~0) (<= (mod main_~y~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (= (div main_~x~0 2) main_~a~0) (<= main_~x~0 100) (<= 1 main_~y~0) (= (mod main_~x~0 2) 0))} is VALID [2022-04-08 14:00:40,553 INFO L290 TraceCheckUtils]: 31: Hoare triple {1216#(and (= (div main_~y~0 2) main_~b~0) (<= 0 main_~x~0) (<= (mod main_~y~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (= (div main_~x~0 2) main_~a~0) (<= main_~x~0 100) (<= 1 main_~y~0) (= (mod main_~x~0 2) 0))} assume !false; {1216#(and (= (div main_~y~0 2) main_~b~0) (<= 0 main_~x~0) (<= (mod main_~y~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (= (div main_~x~0 2) main_~a~0) (<= main_~x~0 100) (<= 1 main_~y~0) (= (mod main_~x~0 2) 0))} is VALID [2022-04-08 14:00:40,555 INFO L272 TraceCheckUtils]: 32: Hoare triple {1216#(and (= (div main_~y~0 2) main_~b~0) (<= 0 main_~x~0) (<= (mod main_~y~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (= (div main_~x~0 2) main_~a~0) (<= main_~x~0 100) (<= 1 main_~y~0) (= (mod main_~x~0 2) 0))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {1223#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 14:00:40,556 INFO L290 TraceCheckUtils]: 33: Hoare triple {1223#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1227#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 14:00:40,556 INFO L290 TraceCheckUtils]: 34: Hoare triple {1227#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1117#false} is VALID [2022-04-08 14:00:40,556 INFO L290 TraceCheckUtils]: 35: Hoare triple {1117#false} assume !false; {1117#false} is VALID [2022-04-08 14:00:40,557 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 5 proven. 5 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-08 14:00:40,557 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 14:01:40,953 INFO L290 TraceCheckUtils]: 35: Hoare triple {1117#false} assume !false; {1117#false} is VALID [2022-04-08 14:01:40,954 INFO L290 TraceCheckUtils]: 34: Hoare triple {1227#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1117#false} is VALID [2022-04-08 14:01:40,955 INFO L290 TraceCheckUtils]: 33: Hoare triple {1223#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1227#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 14:01:40,956 INFO L272 TraceCheckUtils]: 32: Hoare triple {1243#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {1223#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 14:01:40,957 INFO L290 TraceCheckUtils]: 31: Hoare triple {1243#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} assume !false; {1243#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-08 14:01:40,962 INFO L290 TraceCheckUtils]: 30: Hoare triple {1250#(or (and (or (not (= (mod main_~b~0 2) 0)) (= (+ (* (div main_~b~0 2) (* main_~p~0 4) (div main_~a~0 2)) main_~q~0) (* main_~y~0 main_~x~0))) (or (= (mod main_~b~0 2) 0) (= (+ main_~q~0 (* (+ (div main_~b~0 2) 1) (* main_~p~0 4) (div main_~a~0 2))) (* main_~y~0 main_~x~0)))) (not (= (mod main_~a~0 2) 0)) (and (not (< main_~b~0 0)) (not (<= (mod main_~b~0 2) 0))))} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {1243#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-08 14:01:40,963 INFO L290 TraceCheckUtils]: 29: Hoare triple {1250#(or (and (or (not (= (mod main_~b~0 2) 0)) (= (+ (* (div main_~b~0 2) (* main_~p~0 4) (div main_~a~0 2)) main_~q~0) (* main_~y~0 main_~x~0))) (or (= (mod main_~b~0 2) 0) (= (+ main_~q~0 (* (+ (div main_~b~0 2) 1) (* main_~p~0 4) (div main_~a~0 2))) (* main_~y~0 main_~x~0)))) (not (= (mod main_~a~0 2) 0)) (and (not (< main_~b~0 0)) (not (<= (mod main_~b~0 2) 0))))} assume !!(0 != ~a~0 && 0 != ~b~0); {1250#(or (and (or (not (= (mod main_~b~0 2) 0)) (= (+ (* (div main_~b~0 2) (* main_~p~0 4) (div main_~a~0 2)) main_~q~0) (* main_~y~0 main_~x~0))) (or (= (mod main_~b~0 2) 0) (= (+ main_~q~0 (* (+ (div main_~b~0 2) 1) (* main_~p~0 4) (div main_~a~0 2))) (* main_~y~0 main_~x~0)))) (not (= (mod main_~a~0 2) 0)) (and (not (< main_~b~0 0)) (not (<= (mod main_~b~0 2) 0))))} is VALID [2022-04-08 14:01:40,964 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1116#true} {1250#(or (and (or (not (= (mod main_~b~0 2) 0)) (= (+ (* (div main_~b~0 2) (* main_~p~0 4) (div main_~a~0 2)) main_~q~0) (* main_~y~0 main_~x~0))) (or (= (mod main_~b~0 2) 0) (= (+ main_~q~0 (* (+ (div main_~b~0 2) 1) (* main_~p~0 4) (div main_~a~0 2))) (* main_~y~0 main_~x~0)))) (not (= (mod main_~a~0 2) 0)) (and (not (< main_~b~0 0)) (not (<= (mod main_~b~0 2) 0))))} #77#return; {1250#(or (and (or (not (= (mod main_~b~0 2) 0)) (= (+ (* (div main_~b~0 2) (* main_~p~0 4) (div main_~a~0 2)) main_~q~0) (* main_~y~0 main_~x~0))) (or (= (mod main_~b~0 2) 0) (= (+ main_~q~0 (* (+ (div main_~b~0 2) 1) (* main_~p~0 4) (div main_~a~0 2))) (* main_~y~0 main_~x~0)))) (not (= (mod main_~a~0 2) 0)) (and (not (< main_~b~0 0)) (not (<= (mod main_~b~0 2) 0))))} is VALID [2022-04-08 14:01:40,964 INFO L290 TraceCheckUtils]: 27: Hoare triple {1116#true} assume true; {1116#true} is VALID [2022-04-08 14:01:40,964 INFO L290 TraceCheckUtils]: 26: Hoare triple {1116#true} assume !(0 == ~cond); {1116#true} is VALID [2022-04-08 14:01:40,964 INFO L290 TraceCheckUtils]: 25: Hoare triple {1116#true} ~cond := #in~cond; {1116#true} is VALID [2022-04-08 14:01:40,964 INFO L272 TraceCheckUtils]: 24: Hoare triple {1250#(or (and (or (not (= (mod main_~b~0 2) 0)) (= (+ (* (div main_~b~0 2) (* main_~p~0 4) (div main_~a~0 2)) main_~q~0) (* main_~y~0 main_~x~0))) (or (= (mod main_~b~0 2) 0) (= (+ main_~q~0 (* (+ (div main_~b~0 2) 1) (* main_~p~0 4) (div main_~a~0 2))) (* main_~y~0 main_~x~0)))) (not (= (mod main_~a~0 2) 0)) (and (not (< main_~b~0 0)) (not (<= (mod main_~b~0 2) 0))))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {1116#true} is VALID [2022-04-08 14:01:40,965 INFO L290 TraceCheckUtils]: 23: Hoare triple {1250#(or (and (or (not (= (mod main_~b~0 2) 0)) (= (+ (* (div main_~b~0 2) (* main_~p~0 4) (div main_~a~0 2)) main_~q~0) (* main_~y~0 main_~x~0))) (or (= (mod main_~b~0 2) 0) (= (+ main_~q~0 (* (+ (div main_~b~0 2) 1) (* main_~p~0 4) (div main_~a~0 2))) (* main_~y~0 main_~x~0)))) (not (= (mod main_~a~0 2) 0)) (and (not (< main_~b~0 0)) (not (<= (mod main_~b~0 2) 0))))} assume !false; {1250#(or (and (or (not (= (mod main_~b~0 2) 0)) (= (+ (* (div main_~b~0 2) (* main_~p~0 4) (div main_~a~0 2)) main_~q~0) (* main_~y~0 main_~x~0))) (or (= (mod main_~b~0 2) 0) (= (+ main_~q~0 (* (+ (div main_~b~0 2) 1) (* main_~p~0 4) (div main_~a~0 2))) (* main_~y~0 main_~x~0)))) (not (= (mod main_~a~0 2) 0)) (and (not (< main_~b~0 0)) (not (<= (mod main_~b~0 2) 0))))} is VALID [2022-04-08 14:01:40,970 INFO L290 TraceCheckUtils]: 22: Hoare triple {1275#(or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (* (div main_~x~0 2) (+ (div main_~y~0 2) 1) 4) (* main_~y~0 main_~x~0)) (not (= (mod main_~x~0 2) 0)))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {1250#(or (and (or (not (= (mod main_~b~0 2) 0)) (= (+ (* (div main_~b~0 2) (* main_~p~0 4) (div main_~a~0 2)) main_~q~0) (* main_~y~0 main_~x~0))) (or (= (mod main_~b~0 2) 0) (= (+ main_~q~0 (* (+ (div main_~b~0 2) 1) (* main_~p~0 4) (div main_~a~0 2))) (* main_~y~0 main_~x~0)))) (not (= (mod main_~a~0 2) 0)) (and (not (< main_~b~0 0)) (not (<= (mod main_~b~0 2) 0))))} is VALID [2022-04-08 14:01:40,971 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1146#(not (= |assume_abort_if_not_#in~cond| 0))} {1116#true} #75#return; {1275#(or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (* (div main_~x~0 2) (+ (div main_~y~0 2) 1) 4) (* main_~y~0 main_~x~0)) (not (= (mod main_~x~0 2) 0)))} is VALID [2022-04-08 14:01:40,971 INFO L290 TraceCheckUtils]: 20: Hoare triple {1146#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1146#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 14:01:40,972 INFO L290 TraceCheckUtils]: 19: Hoare triple {1288#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {1146#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 14:01:40,972 INFO L290 TraceCheckUtils]: 18: Hoare triple {1116#true} ~cond := #in~cond; {1288#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-08 14:01:40,972 INFO L272 TraceCheckUtils]: 17: Hoare triple {1116#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1116#true} is VALID [2022-04-08 14:01:40,973 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1116#true} {1116#true} #73#return; {1116#true} is VALID [2022-04-08 14:01:40,973 INFO L290 TraceCheckUtils]: 15: Hoare triple {1116#true} assume true; {1116#true} is VALID [2022-04-08 14:01:40,973 INFO L290 TraceCheckUtils]: 14: Hoare triple {1116#true} assume !(0 == ~cond); {1116#true} is VALID [2022-04-08 14:01:40,973 INFO L290 TraceCheckUtils]: 13: Hoare triple {1116#true} ~cond := #in~cond; {1116#true} is VALID [2022-04-08 14:01:40,973 INFO L272 TraceCheckUtils]: 12: Hoare triple {1116#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {1116#true} is VALID [2022-04-08 14:01:40,973 INFO L290 TraceCheckUtils]: 11: Hoare triple {1116#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1116#true} is VALID [2022-04-08 14:01:40,973 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1116#true} {1116#true} #71#return; {1116#true} is VALID [2022-04-08 14:01:40,974 INFO L290 TraceCheckUtils]: 9: Hoare triple {1116#true} assume true; {1116#true} is VALID [2022-04-08 14:01:40,974 INFO L290 TraceCheckUtils]: 8: Hoare triple {1116#true} assume !(0 == ~cond); {1116#true} is VALID [2022-04-08 14:01:40,974 INFO L290 TraceCheckUtils]: 7: Hoare triple {1116#true} ~cond := #in~cond; {1116#true} is VALID [2022-04-08 14:01:40,974 INFO L272 TraceCheckUtils]: 6: Hoare triple {1116#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {1116#true} is VALID [2022-04-08 14:01:40,974 INFO L290 TraceCheckUtils]: 5: Hoare triple {1116#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {1116#true} is VALID [2022-04-08 14:01:40,974 INFO L272 TraceCheckUtils]: 4: Hoare triple {1116#true} call #t~ret6 := main(); {1116#true} is VALID [2022-04-08 14:01:40,975 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1116#true} {1116#true} #83#return; {1116#true} is VALID [2022-04-08 14:01:40,975 INFO L290 TraceCheckUtils]: 2: Hoare triple {1116#true} assume true; {1116#true} is VALID [2022-04-08 14:01:40,975 INFO L290 TraceCheckUtils]: 1: Hoare triple {1116#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {1116#true} is VALID [2022-04-08 14:01:40,975 INFO L272 TraceCheckUtils]: 0: Hoare triple {1116#true} call ULTIMATE.init(); {1116#true} is VALID [2022-04-08 14:01:40,975 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 8 proven. 2 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-08 14:01:40,975 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 14:01:40,976 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2071583865] [2022-04-08 14:01:40,976 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 14:01:40,976 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [245248828] [2022-04-08 14:01:40,976 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [245248828] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 14:01:40,976 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 14:01:40,976 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 9] total 14 [2022-04-08 14:01:40,976 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 14:01:40,977 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [31347742] [2022-04-08 14:01:40,977 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [31347742] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 14:01:40,977 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 14:01:40,977 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-08 14:01:40,977 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2078678763] [2022-04-08 14:01:40,977 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 14:01:40,978 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.1) internal successors, (21), 8 states have internal predecessors, (21), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) Word has length 36 [2022-04-08 14:01:40,978 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 14:01:40,978 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 2.1) internal successors, (21), 8 states have internal predecessors, (21), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 14:01:41,013 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 14:01:41,013 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-08 14:01:41,013 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 14:01:41,014 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-08 14:01:41,014 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=143, Unknown=0, NotChecked=0, Total=182 [2022-04-08 14:01:41,014 INFO L87 Difference]: Start difference. First operand 41 states and 49 transitions. Second operand has 10 states, 10 states have (on average 2.1) internal successors, (21), 8 states have internal predecessors, (21), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 14:01:42,071 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:01:42,071 INFO L93 Difference]: Finished difference Result 59 states and 75 transitions. [2022-04-08 14:01:42,071 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-08 14:01:42,072 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.1) internal successors, (21), 8 states have internal predecessors, (21), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) Word has length 36 [2022-04-08 14:01:42,072 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 14:01:42,072 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.1) internal successors, (21), 8 states have internal predecessors, (21), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 14:01:42,074 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 69 transitions. [2022-04-08 14:01:42,075 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.1) internal successors, (21), 8 states have internal predecessors, (21), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 14:01:42,077 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 69 transitions. [2022-04-08 14:01:42,077 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 69 transitions. [2022-04-08 14:01:42,148 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-08 14:01:42,149 INFO L225 Difference]: With dead ends: 59 [2022-04-08 14:01:42,149 INFO L226 Difference]: Without dead ends: 57 [2022-04-08 14:01:42,150 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 73 GetRequests, 58 SyntacticMatches, 1 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 33 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=48, Invalid=192, Unknown=0, NotChecked=0, Total=240 [2022-04-08 14:01:42,151 INFO L913 BasicCegarLoop]: 27 mSDtfsCounter, 48 mSDsluCounter, 98 mSDsCounter, 0 mSdLazyCounter, 217 mSolverCounterSat, 25 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 54 SdHoareTripleChecker+Valid, 125 SdHoareTripleChecker+Invalid, 242 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 25 IncrementalHoareTripleChecker+Valid, 217 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-08 14:01:42,151 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [54 Valid, 125 Invalid, 242 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [25 Valid, 217 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-08 14:01:42,152 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 57 states. [2022-04-08 14:01:42,215 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 57 to 48. [2022-04-08 14:01:42,215 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 14:01:42,215 INFO L82 GeneralOperation]: Start isEquivalent. First operand 57 states. Second operand has 48 states, 30 states have (on average 1.2333333333333334) internal successors, (37), 33 states have internal predecessors, (37), 11 states have call successors, (11), 7 states have call predecessors, (11), 6 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-08 14:01:42,216 INFO L74 IsIncluded]: Start isIncluded. First operand 57 states. Second operand has 48 states, 30 states have (on average 1.2333333333333334) internal successors, (37), 33 states have internal predecessors, (37), 11 states have call successors, (11), 7 states have call predecessors, (11), 6 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-08 14:01:42,216 INFO L87 Difference]: Start difference. First operand 57 states. Second operand has 48 states, 30 states have (on average 1.2333333333333334) internal successors, (37), 33 states have internal predecessors, (37), 11 states have call successors, (11), 7 states have call predecessors, (11), 6 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-08 14:01:42,219 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:01:42,219 INFO L93 Difference]: Finished difference Result 57 states and 73 transitions. [2022-04-08 14:01:42,219 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 73 transitions. [2022-04-08 14:01:42,219 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 14:01:42,219 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 14:01:42,220 INFO L74 IsIncluded]: Start isIncluded. First operand has 48 states, 30 states have (on average 1.2333333333333334) internal successors, (37), 33 states have internal predecessors, (37), 11 states have call successors, (11), 7 states have call predecessors, (11), 6 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) Second operand 57 states. [2022-04-08 14:01:42,220 INFO L87 Difference]: Start difference. First operand has 48 states, 30 states have (on average 1.2333333333333334) internal successors, (37), 33 states have internal predecessors, (37), 11 states have call successors, (11), 7 states have call predecessors, (11), 6 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) Second operand 57 states. [2022-04-08 14:01:42,222 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:01:42,223 INFO L93 Difference]: Finished difference Result 57 states and 73 transitions. [2022-04-08 14:01:42,223 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 73 transitions. [2022-04-08 14:01:42,223 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 14:01:42,223 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 14:01:42,223 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 14:01:42,224 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 14:01:42,224 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 48 states, 30 states have (on average 1.2333333333333334) internal successors, (37), 33 states have internal predecessors, (37), 11 states have call successors, (11), 7 states have call predecessors, (11), 6 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-08 14:01:42,226 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 48 states to 48 states and 57 transitions. [2022-04-08 14:01:42,226 INFO L78 Accepts]: Start accepts. Automaton has 48 states and 57 transitions. Word has length 36 [2022-04-08 14:01:42,226 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 14:01:42,226 INFO L478 AbstractCegarLoop]: Abstraction has 48 states and 57 transitions. [2022-04-08 14:01:42,226 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 2.1) internal successors, (21), 8 states have internal predecessors, (21), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 14:01:42,226 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 48 states and 57 transitions. [2022-04-08 14:01:42,303 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 14:01:42,304 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 57 transitions. [2022-04-08 14:01:42,304 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-04-08 14:01:42,305 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 14:01:42,305 INFO L499 BasicCegarLoop]: trace histogram [3, 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] [2022-04-08 14:01:42,323 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Ended with exit code 0 [2022-04-08 14:01:42,515 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 14:01:42,516 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 14:01:42,516 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 14:01:42,516 INFO L85 PathProgramCache]: Analyzing trace with hash 2032180221, now seen corresponding path program 1 times [2022-04-08 14:01:42,516 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 14:01:42,516 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [977523483] [2022-04-08 14:01:42,517 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 14:01:42,517 INFO L85 PathProgramCache]: Analyzing trace with hash 2032180221, now seen corresponding path program 2 times [2022-04-08 14:01:42,517 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 14:01:42,517 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1440666114] [2022-04-08 14:01:42,517 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 14:01:42,519 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 14:01:42,551 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 14:01:42,551 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [100786558] [2022-04-08 14:01:42,551 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 14:01:42,551 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 14:01:42,552 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 14:01:42,555 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 14:01:42,558 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-04-08 14:01:42,626 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 14:01:42,627 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 14:01:42,628 INFO L263 TraceCheckSpWp]: Trace formula consists of 113 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-08 14:01:42,639 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 14:01:42,640 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 14:01:42,929 INFO L272 TraceCheckUtils]: 0: Hoare triple {1677#true} call ULTIMATE.init(); {1677#true} is VALID [2022-04-08 14:01:42,930 INFO L290 TraceCheckUtils]: 1: Hoare triple {1677#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {1677#true} is VALID [2022-04-08 14:01:42,930 INFO L290 TraceCheckUtils]: 2: Hoare triple {1677#true} assume true; {1677#true} is VALID [2022-04-08 14:01:42,930 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1677#true} {1677#true} #83#return; {1677#true} is VALID [2022-04-08 14:01:42,930 INFO L272 TraceCheckUtils]: 4: Hoare triple {1677#true} call #t~ret6 := main(); {1677#true} is VALID [2022-04-08 14:01:42,930 INFO L290 TraceCheckUtils]: 5: Hoare triple {1677#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {1677#true} is VALID [2022-04-08 14:01:42,930 INFO L272 TraceCheckUtils]: 6: Hoare triple {1677#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {1677#true} is VALID [2022-04-08 14:01:42,930 INFO L290 TraceCheckUtils]: 7: Hoare triple {1677#true} ~cond := #in~cond; {1677#true} is VALID [2022-04-08 14:01:42,930 INFO L290 TraceCheckUtils]: 8: Hoare triple {1677#true} assume !(0 == ~cond); {1677#true} is VALID [2022-04-08 14:01:42,930 INFO L290 TraceCheckUtils]: 9: Hoare triple {1677#true} assume true; {1677#true} is VALID [2022-04-08 14:01:42,931 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1677#true} {1677#true} #71#return; {1677#true} is VALID [2022-04-08 14:01:42,931 INFO L290 TraceCheckUtils]: 11: Hoare triple {1677#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1677#true} is VALID [2022-04-08 14:01:42,931 INFO L272 TraceCheckUtils]: 12: Hoare triple {1677#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {1677#true} is VALID [2022-04-08 14:01:42,931 INFO L290 TraceCheckUtils]: 13: Hoare triple {1677#true} ~cond := #in~cond; {1677#true} is VALID [2022-04-08 14:01:42,931 INFO L290 TraceCheckUtils]: 14: Hoare triple {1677#true} assume !(0 == ~cond); {1677#true} is VALID [2022-04-08 14:01:42,931 INFO L290 TraceCheckUtils]: 15: Hoare triple {1677#true} assume true; {1677#true} is VALID [2022-04-08 14:01:42,931 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1677#true} {1677#true} #73#return; {1677#true} is VALID [2022-04-08 14:01:42,931 INFO L272 TraceCheckUtils]: 17: Hoare triple {1677#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1677#true} is VALID [2022-04-08 14:01:42,932 INFO L290 TraceCheckUtils]: 18: Hoare triple {1677#true} ~cond := #in~cond; {1677#true} is VALID [2022-04-08 14:01:42,932 INFO L290 TraceCheckUtils]: 19: Hoare triple {1677#true} assume !(0 == ~cond); {1677#true} is VALID [2022-04-08 14:01:42,932 INFO L290 TraceCheckUtils]: 20: Hoare triple {1677#true} assume true; {1677#true} is VALID [2022-04-08 14:01:42,932 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1677#true} {1677#true} #75#return; {1677#true} is VALID [2022-04-08 14:01:42,932 INFO L290 TraceCheckUtils]: 22: Hoare triple {1677#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {1748#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 14:01:42,933 INFO L290 TraceCheckUtils]: 23: Hoare triple {1748#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {1748#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 14:01:42,933 INFO L272 TraceCheckUtils]: 24: Hoare triple {1748#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {1677#true} is VALID [2022-04-08 14:01:42,933 INFO L290 TraceCheckUtils]: 25: Hoare triple {1677#true} ~cond := #in~cond; {1758#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 14:01:42,933 INFO L290 TraceCheckUtils]: 26: Hoare triple {1758#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {1762#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 14:01:42,934 INFO L290 TraceCheckUtils]: 27: Hoare triple {1762#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1762#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 14:01:42,934 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1762#(not (= |__VERIFIER_assert_#in~cond| 0))} {1748#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #77#return; {1748#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 14:01:42,939 INFO L290 TraceCheckUtils]: 29: Hoare triple {1748#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~a~0 && 0 != ~b~0); {1748#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 14:01:42,940 INFO L290 TraceCheckUtils]: 30: Hoare triple {1748#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !(0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2)); {1748#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 14:01:42,941 INFO L290 TraceCheckUtils]: 31: Hoare triple {1748#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume 1 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := ~a~0 - 1;~q~0 := ~q~0 + ~b~0 * ~p~0; {1778#(and (= (mod main_~b~0 2) 0) (= main_~b~0 main_~y~0) (= (+ main_~a~0 1) main_~x~0) (= 0 (+ main_~q~0 (* (- 1) main_~b~0 main_~p~0))) (= main_~p~0 1))} is VALID [2022-04-08 14:01:42,942 INFO L290 TraceCheckUtils]: 32: Hoare triple {1778#(and (= (mod main_~b~0 2) 0) (= main_~b~0 main_~y~0) (= (+ main_~a~0 1) main_~x~0) (= 0 (+ main_~q~0 (* (- 1) main_~b~0 main_~p~0))) (= main_~p~0 1))} assume !false; {1778#(and (= (mod main_~b~0 2) 0) (= main_~b~0 main_~y~0) (= (+ main_~a~0 1) main_~x~0) (= 0 (+ main_~q~0 (* (- 1) main_~b~0 main_~p~0))) (= main_~p~0 1))} is VALID [2022-04-08 14:01:42,944 INFO L272 TraceCheckUtils]: 33: Hoare triple {1778#(and (= (mod main_~b~0 2) 0) (= main_~b~0 main_~y~0) (= (+ main_~a~0 1) main_~x~0) (= 0 (+ main_~q~0 (* (- 1) main_~b~0 main_~p~0))) (= main_~p~0 1))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {1785#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 14:01:42,945 INFO L290 TraceCheckUtils]: 34: Hoare triple {1785#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1789#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 14:01:42,945 INFO L290 TraceCheckUtils]: 35: Hoare triple {1789#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1678#false} is VALID [2022-04-08 14:01:42,945 INFO L290 TraceCheckUtils]: 36: Hoare triple {1678#false} assume !false; {1678#false} is VALID [2022-04-08 14:01:42,945 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 1 proven. 3 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-08 14:01:42,946 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 14:01:55,018 INFO L290 TraceCheckUtils]: 36: Hoare triple {1678#false} assume !false; {1678#false} is VALID [2022-04-08 14:01:55,019 INFO L290 TraceCheckUtils]: 35: Hoare triple {1789#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1678#false} is VALID [2022-04-08 14:01:55,019 INFO L290 TraceCheckUtils]: 34: Hoare triple {1785#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1789#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 14:01:55,020 INFO L272 TraceCheckUtils]: 33: Hoare triple {1805#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {1785#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 14:01:55,021 INFO L290 TraceCheckUtils]: 32: Hoare triple {1805#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} assume !false; {1805#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-08 14:01:55,040 INFO L290 TraceCheckUtils]: 31: Hoare triple {1812#(or (not (= (mod main_~b~0 2) 0)) (= (+ (* main_~b~0 main_~p~0) (* (+ (- 1) main_~a~0) main_~b~0 main_~p~0) main_~q~0) (* main_~y~0 main_~x~0)))} assume 1 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := ~a~0 - 1;~q~0 := ~q~0 + ~b~0 * ~p~0; {1805#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-08 14:01:55,041 INFO L290 TraceCheckUtils]: 30: Hoare triple {1812#(or (not (= (mod main_~b~0 2) 0)) (= (+ (* main_~b~0 main_~p~0) (* (+ (- 1) main_~a~0) main_~b~0 main_~p~0) main_~q~0) (* main_~y~0 main_~x~0)))} assume !(0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2)); {1812#(or (not (= (mod main_~b~0 2) 0)) (= (+ (* main_~b~0 main_~p~0) (* (+ (- 1) main_~a~0) main_~b~0 main_~p~0) main_~q~0) (* main_~y~0 main_~x~0)))} is VALID [2022-04-08 14:01:55,041 INFO L290 TraceCheckUtils]: 29: Hoare triple {1812#(or (not (= (mod main_~b~0 2) 0)) (= (+ (* main_~b~0 main_~p~0) (* (+ (- 1) main_~a~0) main_~b~0 main_~p~0) main_~q~0) (* main_~y~0 main_~x~0)))} assume !!(0 != ~a~0 && 0 != ~b~0); {1812#(or (not (= (mod main_~b~0 2) 0)) (= (+ (* main_~b~0 main_~p~0) (* (+ (- 1) main_~a~0) main_~b~0 main_~p~0) main_~q~0) (* main_~y~0 main_~x~0)))} is VALID [2022-04-08 14:01:55,042 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1762#(not (= |__VERIFIER_assert_#in~cond| 0))} {1677#true} #77#return; {1812#(or (not (= (mod main_~b~0 2) 0)) (= (+ (* main_~b~0 main_~p~0) (* (+ (- 1) main_~a~0) main_~b~0 main_~p~0) main_~q~0) (* main_~y~0 main_~x~0)))} is VALID [2022-04-08 14:01:55,043 INFO L290 TraceCheckUtils]: 27: Hoare triple {1762#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1762#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 14:01:55,043 INFO L290 TraceCheckUtils]: 26: Hoare triple {1831#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {1762#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 14:01:55,043 INFO L290 TraceCheckUtils]: 25: Hoare triple {1677#true} ~cond := #in~cond; {1831#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 14:01:55,044 INFO L272 TraceCheckUtils]: 24: Hoare triple {1677#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {1677#true} is VALID [2022-04-08 14:01:55,044 INFO L290 TraceCheckUtils]: 23: Hoare triple {1677#true} assume !false; {1677#true} is VALID [2022-04-08 14:01:55,044 INFO L290 TraceCheckUtils]: 22: Hoare triple {1677#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {1677#true} is VALID [2022-04-08 14:01:55,044 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1677#true} {1677#true} #75#return; {1677#true} is VALID [2022-04-08 14:01:55,044 INFO L290 TraceCheckUtils]: 20: Hoare triple {1677#true} assume true; {1677#true} is VALID [2022-04-08 14:01:55,044 INFO L290 TraceCheckUtils]: 19: Hoare triple {1677#true} assume !(0 == ~cond); {1677#true} is VALID [2022-04-08 14:01:55,044 INFO L290 TraceCheckUtils]: 18: Hoare triple {1677#true} ~cond := #in~cond; {1677#true} is VALID [2022-04-08 14:01:55,045 INFO L272 TraceCheckUtils]: 17: Hoare triple {1677#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1677#true} is VALID [2022-04-08 14:01:55,045 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1677#true} {1677#true} #73#return; {1677#true} is VALID [2022-04-08 14:01:55,045 INFO L290 TraceCheckUtils]: 15: Hoare triple {1677#true} assume true; {1677#true} is VALID [2022-04-08 14:01:55,045 INFO L290 TraceCheckUtils]: 14: Hoare triple {1677#true} assume !(0 == ~cond); {1677#true} is VALID [2022-04-08 14:01:55,045 INFO L290 TraceCheckUtils]: 13: Hoare triple {1677#true} ~cond := #in~cond; {1677#true} is VALID [2022-04-08 14:01:55,045 INFO L272 TraceCheckUtils]: 12: Hoare triple {1677#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {1677#true} is VALID [2022-04-08 14:01:55,045 INFO L290 TraceCheckUtils]: 11: Hoare triple {1677#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1677#true} is VALID [2022-04-08 14:01:55,045 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1677#true} {1677#true} #71#return; {1677#true} is VALID [2022-04-08 14:01:55,046 INFO L290 TraceCheckUtils]: 9: Hoare triple {1677#true} assume true; {1677#true} is VALID [2022-04-08 14:01:55,046 INFO L290 TraceCheckUtils]: 8: Hoare triple {1677#true} assume !(0 == ~cond); {1677#true} is VALID [2022-04-08 14:01:55,046 INFO L290 TraceCheckUtils]: 7: Hoare triple {1677#true} ~cond := #in~cond; {1677#true} is VALID [2022-04-08 14:01:55,046 INFO L272 TraceCheckUtils]: 6: Hoare triple {1677#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {1677#true} is VALID [2022-04-08 14:01:55,046 INFO L290 TraceCheckUtils]: 5: Hoare triple {1677#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {1677#true} is VALID [2022-04-08 14:01:55,046 INFO L272 TraceCheckUtils]: 4: Hoare triple {1677#true} call #t~ret6 := main(); {1677#true} is VALID [2022-04-08 14:01:55,046 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1677#true} {1677#true} #83#return; {1677#true} is VALID [2022-04-08 14:01:55,047 INFO L290 TraceCheckUtils]: 2: Hoare triple {1677#true} assume true; {1677#true} is VALID [2022-04-08 14:01:55,047 INFO L290 TraceCheckUtils]: 1: Hoare triple {1677#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {1677#true} is VALID [2022-04-08 14:01:55,047 INFO L272 TraceCheckUtils]: 0: Hoare triple {1677#true} call ULTIMATE.init(); {1677#true} is VALID [2022-04-08 14:01:55,047 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 3 proven. 1 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-08 14:01:55,047 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 14:01:55,047 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1440666114] [2022-04-08 14:01:55,047 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 14:01:55,048 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [100786558] [2022-04-08 14:01:55,048 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [100786558] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 14:01:55,048 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 14:01:55,048 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 11 [2022-04-08 14:01:55,048 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 14:01:55,048 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [977523483] [2022-04-08 14:01:55,048 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [977523483] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 14:01:55,048 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 14:01:55,048 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 14:01:55,049 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1389065007] [2022-04-08 14:01:55,049 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 14:01:55,049 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.375) internal successors, (19), 7 states have internal predecessors, (19), 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 37 [2022-04-08 14:01:55,049 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 14:01:55,050 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 2.375) internal successors, (19), 7 states have internal predecessors, (19), 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-08 14:01:55,081 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 14:01:55,081 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 14:01:55,081 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 14:01:55,082 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 14:01:55,082 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=28, Invalid=82, Unknown=0, NotChecked=0, Total=110 [2022-04-08 14:01:55,082 INFO L87 Difference]: Start difference. First operand 48 states and 57 transitions. Second operand has 8 states, 8 states have (on average 2.375) internal successors, (19), 7 states have internal predecessors, (19), 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-08 14:01:56,037 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:01:56,037 INFO L93 Difference]: Finished difference Result 77 states and 99 transitions. [2022-04-08 14:01:56,037 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-08 14:01:56,037 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.375) internal successors, (19), 7 states have internal predecessors, (19), 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 37 [2022-04-08 14:01:56,038 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 14:01:56,038 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.375) internal successors, (19), 7 states have internal predecessors, (19), 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-08 14:01:56,040 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 87 transitions. [2022-04-08 14:01:56,040 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.375) internal successors, (19), 7 states have internal predecessors, (19), 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-08 14:01:56,042 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 87 transitions. [2022-04-08 14:01:56,042 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 87 transitions. [2022-04-08 14:01:56,122 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 87 edges. 87 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 14:01:56,124 INFO L225 Difference]: With dead ends: 77 [2022-04-08 14:01:56,124 INFO L226 Difference]: Without dead ends: 63 [2022-04-08 14:01:56,124 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 75 GetRequests, 63 SyntacticMatches, 1 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 9 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=41, Invalid=115, Unknown=0, NotChecked=0, Total=156 [2022-04-08 14:01:56,125 INFO L913 BasicCegarLoop]: 27 mSDtfsCounter, 18 mSDsluCounter, 90 mSDsCounter, 0 mSdLazyCounter, 173 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 21 SdHoareTripleChecker+Valid, 117 SdHoareTripleChecker+Invalid, 177 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 173 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-08 14:01:56,125 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [21 Valid, 117 Invalid, 177 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 173 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-08 14:01:56,126 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 63 states. [2022-04-08 14:01:56,212 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 63 to 59. [2022-04-08 14:01:56,213 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 14:01:56,213 INFO L82 GeneralOperation]: Start isEquivalent. First operand 63 states. Second operand has 59 states, 39 states have (on average 1.2820512820512822) internal successors, (50), 42 states have internal predecessors, (50), 12 states have call successors, (12), 8 states have call predecessors, (12), 7 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-08 14:01:56,213 INFO L74 IsIncluded]: Start isIncluded. First operand 63 states. Second operand has 59 states, 39 states have (on average 1.2820512820512822) internal successors, (50), 42 states have internal predecessors, (50), 12 states have call successors, (12), 8 states have call predecessors, (12), 7 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-08 14:01:56,214 INFO L87 Difference]: Start difference. First operand 63 states. Second operand has 59 states, 39 states have (on average 1.2820512820512822) internal successors, (50), 42 states have internal predecessors, (50), 12 states have call successors, (12), 8 states have call predecessors, (12), 7 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-08 14:01:56,216 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:01:56,216 INFO L93 Difference]: Finished difference Result 63 states and 78 transitions. [2022-04-08 14:01:56,216 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 78 transitions. [2022-04-08 14:01:56,217 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 14:01:56,217 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 14:01:56,217 INFO L74 IsIncluded]: Start isIncluded. First operand has 59 states, 39 states have (on average 1.2820512820512822) internal successors, (50), 42 states have internal predecessors, (50), 12 states have call successors, (12), 8 states have call predecessors, (12), 7 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) Second operand 63 states. [2022-04-08 14:01:56,218 INFO L87 Difference]: Start difference. First operand has 59 states, 39 states have (on average 1.2820512820512822) internal successors, (50), 42 states have internal predecessors, (50), 12 states have call successors, (12), 8 states have call predecessors, (12), 7 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) Second operand 63 states. [2022-04-08 14:01:56,220 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:01:56,220 INFO L93 Difference]: Finished difference Result 63 states and 78 transitions. [2022-04-08 14:01:56,220 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 78 transitions. [2022-04-08 14:01:56,220 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 14:01:56,220 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 14:01:56,220 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 14:01:56,221 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 14:01:56,221 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 59 states, 39 states have (on average 1.2820512820512822) internal successors, (50), 42 states have internal predecessors, (50), 12 states have call successors, (12), 8 states have call predecessors, (12), 7 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-08 14:01:56,223 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 59 states to 59 states and 72 transitions. [2022-04-08 14:01:56,223 INFO L78 Accepts]: Start accepts. Automaton has 59 states and 72 transitions. Word has length 37 [2022-04-08 14:01:56,223 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 14:01:56,223 INFO L478 AbstractCegarLoop]: Abstraction has 59 states and 72 transitions. [2022-04-08 14:01:56,224 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 2.375) internal successors, (19), 7 states have internal predecessors, (19), 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-08 14:01:56,224 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 59 states and 72 transitions. [2022-04-08 14:01:56,325 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 14:01:56,325 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 72 transitions. [2022-04-08 14:01:56,326 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-08 14:01:56,326 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 14:01:56,326 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 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] [2022-04-08 14:01:56,342 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-08 14:01:56,527 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 14:01:56,528 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 14:01:56,528 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 14:01:56,528 INFO L85 PathProgramCache]: Analyzing trace with hash 262800198, now seen corresponding path program 1 times [2022-04-08 14:01:56,528 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 14:01:56,529 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2074332357] [2022-04-08 14:01:56,529 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 14:01:56,529 INFO L85 PathProgramCache]: Analyzing trace with hash 262800198, now seen corresponding path program 2 times [2022-04-08 14:01:56,529 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 14:01:56,530 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1418021372] [2022-04-08 14:01:56,530 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 14:01:56,530 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 14:01:56,544 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 14:01:56,544 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1598015556] [2022-04-08 14:01:56,544 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 14:01:56,544 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 14:01:56,544 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 14:01:56,545 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 14:01:56,558 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-04-08 14:01:56,599 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 14:01:56,599 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 14:01:56,600 INFO L263 TraceCheckSpWp]: Trace formula consists of 111 conjuncts, 16 conjunts are in the unsatisfiable core [2022-04-08 14:01:56,611 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 14:01:56,612 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 14:01:56,858 INFO L272 TraceCheckUtils]: 0: Hoare triple {2311#true} call ULTIMATE.init(); {2311#true} is VALID [2022-04-08 14:01:56,859 INFO L290 TraceCheckUtils]: 1: Hoare triple {2311#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {2311#true} is VALID [2022-04-08 14:01:56,859 INFO L290 TraceCheckUtils]: 2: Hoare triple {2311#true} assume true; {2311#true} is VALID [2022-04-08 14:01:56,859 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2311#true} {2311#true} #83#return; {2311#true} is VALID [2022-04-08 14:01:56,859 INFO L272 TraceCheckUtils]: 4: Hoare triple {2311#true} call #t~ret6 := main(); {2311#true} is VALID [2022-04-08 14:01:56,859 INFO L290 TraceCheckUtils]: 5: Hoare triple {2311#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {2311#true} is VALID [2022-04-08 14:01:56,859 INFO L272 TraceCheckUtils]: 6: Hoare triple {2311#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {2311#true} is VALID [2022-04-08 14:01:56,859 INFO L290 TraceCheckUtils]: 7: Hoare triple {2311#true} ~cond := #in~cond; {2337#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 14:01:56,860 INFO L290 TraceCheckUtils]: 8: Hoare triple {2337#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2341#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 14:01:56,860 INFO L290 TraceCheckUtils]: 9: Hoare triple {2341#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2341#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 14:01:56,861 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2341#(not (= |assume_abort_if_not_#in~cond| 0))} {2311#true} #71#return; {2348#(and (<= 0 main_~x~0) (<= main_~x~0 100))} is VALID [2022-04-08 14:01:56,861 INFO L290 TraceCheckUtils]: 11: Hoare triple {2348#(and (<= 0 main_~x~0) (<= main_~x~0 100))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2348#(and (<= 0 main_~x~0) (<= main_~x~0 100))} is VALID [2022-04-08 14:01:56,861 INFO L272 TraceCheckUtils]: 12: Hoare triple {2348#(and (<= 0 main_~x~0) (<= main_~x~0 100))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {2311#true} is VALID [2022-04-08 14:01:56,861 INFO L290 TraceCheckUtils]: 13: Hoare triple {2311#true} ~cond := #in~cond; {2311#true} is VALID [2022-04-08 14:01:56,861 INFO L290 TraceCheckUtils]: 14: Hoare triple {2311#true} assume !(0 == ~cond); {2311#true} is VALID [2022-04-08 14:01:56,861 INFO L290 TraceCheckUtils]: 15: Hoare triple {2311#true} assume true; {2311#true} is VALID [2022-04-08 14:01:56,862 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2311#true} {2348#(and (<= 0 main_~x~0) (<= main_~x~0 100))} #73#return; {2348#(and (<= 0 main_~x~0) (<= main_~x~0 100))} is VALID [2022-04-08 14:01:56,862 INFO L272 TraceCheckUtils]: 17: Hoare triple {2348#(and (<= 0 main_~x~0) (<= main_~x~0 100))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2311#true} is VALID [2022-04-08 14:01:56,863 INFO L290 TraceCheckUtils]: 18: Hoare triple {2311#true} ~cond := #in~cond; {2337#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 14:01:56,864 INFO L290 TraceCheckUtils]: 19: Hoare triple {2337#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2341#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 14:01:56,864 INFO L290 TraceCheckUtils]: 20: Hoare triple {2341#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2341#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 14:01:56,865 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2341#(not (= |assume_abort_if_not_#in~cond| 0))} {2348#(and (<= 0 main_~x~0) (<= main_~x~0 100))} #75#return; {2382#(and (<= 0 main_~x~0) (<= main_~x~0 100) (<= 1 main_~y~0))} is VALID [2022-04-08 14:01:56,865 INFO L290 TraceCheckUtils]: 22: Hoare triple {2382#(and (<= 0 main_~x~0) (<= main_~x~0 100) (<= 1 main_~y~0))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {2386#(and (<= 0 main_~a~0) (<= 1 main_~b~0))} is VALID [2022-04-08 14:01:56,865 INFO L290 TraceCheckUtils]: 23: Hoare triple {2386#(and (<= 0 main_~a~0) (<= 1 main_~b~0))} assume !false; {2386#(and (<= 0 main_~a~0) (<= 1 main_~b~0))} is VALID [2022-04-08 14:01:56,865 INFO L272 TraceCheckUtils]: 24: Hoare triple {2386#(and (<= 0 main_~a~0) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {2311#true} is VALID [2022-04-08 14:01:56,865 INFO L290 TraceCheckUtils]: 25: Hoare triple {2311#true} ~cond := #in~cond; {2311#true} is VALID [2022-04-08 14:01:56,866 INFO L290 TraceCheckUtils]: 26: Hoare triple {2311#true} assume !(0 == ~cond); {2311#true} is VALID [2022-04-08 14:01:56,866 INFO L290 TraceCheckUtils]: 27: Hoare triple {2311#true} assume true; {2311#true} is VALID [2022-04-08 14:01:56,866 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2311#true} {2386#(and (<= 0 main_~a~0) (<= 1 main_~b~0))} #77#return; {2386#(and (<= 0 main_~a~0) (<= 1 main_~b~0))} is VALID [2022-04-08 14:01:56,867 INFO L290 TraceCheckUtils]: 29: Hoare triple {2386#(and (<= 0 main_~a~0) (<= 1 main_~b~0))} assume !(0 != ~a~0 && 0 != ~b~0); {2408#(and (= main_~a~0 0) (<= 1 main_~b~0))} is VALID [2022-04-08 14:01:56,867 INFO L272 TraceCheckUtils]: 30: Hoare triple {2408#(and (= main_~a~0 0) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {2311#true} is VALID [2022-04-08 14:01:56,867 INFO L290 TraceCheckUtils]: 31: Hoare triple {2311#true} ~cond := #in~cond; {2311#true} is VALID [2022-04-08 14:01:56,867 INFO L290 TraceCheckUtils]: 32: Hoare triple {2311#true} assume !(0 == ~cond); {2311#true} is VALID [2022-04-08 14:01:56,867 INFO L290 TraceCheckUtils]: 33: Hoare triple {2311#true} assume true; {2311#true} is VALID [2022-04-08 14:01:56,868 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {2311#true} {2408#(and (= main_~a~0 0) (<= 1 main_~b~0))} #79#return; {2408#(and (= main_~a~0 0) (<= 1 main_~b~0))} is VALID [2022-04-08 14:01:56,868 INFO L272 TraceCheckUtils]: 35: Hoare triple {2408#(and (= main_~a~0 0) (<= 1 main_~b~0))} call __VERIFIER_assert((if 0 == ~a~0 * ~b~0 then 1 else 0)); {2427#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 14:01:56,868 INFO L290 TraceCheckUtils]: 36: Hoare triple {2427#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2431#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 14:01:56,869 INFO L290 TraceCheckUtils]: 37: Hoare triple {2431#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2312#false} is VALID [2022-04-08 14:01:56,869 INFO L290 TraceCheckUtils]: 38: Hoare triple {2312#false} assume !false; {2312#false} is VALID [2022-04-08 14:01:56,869 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 7 proven. 3 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-04-08 14:01:56,869 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 14:01:57,127 INFO L290 TraceCheckUtils]: 38: Hoare triple {2312#false} assume !false; {2312#false} is VALID [2022-04-08 14:01:57,127 INFO L290 TraceCheckUtils]: 37: Hoare triple {2431#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2312#false} is VALID [2022-04-08 14:01:57,128 INFO L290 TraceCheckUtils]: 36: Hoare triple {2427#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2431#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 14:01:57,128 INFO L272 TraceCheckUtils]: 35: Hoare triple {2447#(= (* main_~b~0 main_~a~0) 0)} call __VERIFIER_assert((if 0 == ~a~0 * ~b~0 then 1 else 0)); {2427#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 14:01:57,129 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {2311#true} {2447#(= (* main_~b~0 main_~a~0) 0)} #79#return; {2447#(= (* main_~b~0 main_~a~0) 0)} is VALID [2022-04-08 14:01:57,129 INFO L290 TraceCheckUtils]: 33: Hoare triple {2311#true} assume true; {2311#true} is VALID [2022-04-08 14:01:57,129 INFO L290 TraceCheckUtils]: 32: Hoare triple {2311#true} assume !(0 == ~cond); {2311#true} is VALID [2022-04-08 14:01:57,129 INFO L290 TraceCheckUtils]: 31: Hoare triple {2311#true} ~cond := #in~cond; {2311#true} is VALID [2022-04-08 14:01:57,129 INFO L272 TraceCheckUtils]: 30: Hoare triple {2447#(= (* main_~b~0 main_~a~0) 0)} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {2311#true} is VALID [2022-04-08 14:01:57,130 INFO L290 TraceCheckUtils]: 29: Hoare triple {2311#true} assume !(0 != ~a~0 && 0 != ~b~0); {2447#(= (* main_~b~0 main_~a~0) 0)} is VALID [2022-04-08 14:01:57,130 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2311#true} {2311#true} #77#return; {2311#true} is VALID [2022-04-08 14:01:57,131 INFO L290 TraceCheckUtils]: 27: Hoare triple {2311#true} assume true; {2311#true} is VALID [2022-04-08 14:01:57,131 INFO L290 TraceCheckUtils]: 26: Hoare triple {2311#true} assume !(0 == ~cond); {2311#true} is VALID [2022-04-08 14:01:57,131 INFO L290 TraceCheckUtils]: 25: Hoare triple {2311#true} ~cond := #in~cond; {2311#true} is VALID [2022-04-08 14:01:57,131 INFO L272 TraceCheckUtils]: 24: Hoare triple {2311#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {2311#true} is VALID [2022-04-08 14:01:57,131 INFO L290 TraceCheckUtils]: 23: Hoare triple {2311#true} assume !false; {2311#true} is VALID [2022-04-08 14:01:57,131 INFO L290 TraceCheckUtils]: 22: Hoare triple {2311#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {2311#true} is VALID [2022-04-08 14:01:57,131 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2311#true} {2311#true} #75#return; {2311#true} is VALID [2022-04-08 14:01:57,131 INFO L290 TraceCheckUtils]: 20: Hoare triple {2311#true} assume true; {2311#true} is VALID [2022-04-08 14:01:57,131 INFO L290 TraceCheckUtils]: 19: Hoare triple {2311#true} assume !(0 == ~cond); {2311#true} is VALID [2022-04-08 14:01:57,131 INFO L290 TraceCheckUtils]: 18: Hoare triple {2311#true} ~cond := #in~cond; {2311#true} is VALID [2022-04-08 14:01:57,131 INFO L272 TraceCheckUtils]: 17: Hoare triple {2311#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2311#true} is VALID [2022-04-08 14:01:57,131 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2311#true} {2311#true} #73#return; {2311#true} is VALID [2022-04-08 14:01:57,132 INFO L290 TraceCheckUtils]: 15: Hoare triple {2311#true} assume true; {2311#true} is VALID [2022-04-08 14:01:57,132 INFO L290 TraceCheckUtils]: 14: Hoare triple {2311#true} assume !(0 == ~cond); {2311#true} is VALID [2022-04-08 14:01:57,132 INFO L290 TraceCheckUtils]: 13: Hoare triple {2311#true} ~cond := #in~cond; {2311#true} is VALID [2022-04-08 14:01:57,132 INFO L272 TraceCheckUtils]: 12: Hoare triple {2311#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {2311#true} is VALID [2022-04-08 14:01:57,132 INFO L290 TraceCheckUtils]: 11: Hoare triple {2311#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2311#true} is VALID [2022-04-08 14:01:57,132 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2311#true} {2311#true} #71#return; {2311#true} is VALID [2022-04-08 14:01:57,132 INFO L290 TraceCheckUtils]: 9: Hoare triple {2311#true} assume true; {2311#true} is VALID [2022-04-08 14:01:57,132 INFO L290 TraceCheckUtils]: 8: Hoare triple {2311#true} assume !(0 == ~cond); {2311#true} is VALID [2022-04-08 14:01:57,132 INFO L290 TraceCheckUtils]: 7: Hoare triple {2311#true} ~cond := #in~cond; {2311#true} is VALID [2022-04-08 14:01:57,132 INFO L272 TraceCheckUtils]: 6: Hoare triple {2311#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {2311#true} is VALID [2022-04-08 14:01:57,133 INFO L290 TraceCheckUtils]: 5: Hoare triple {2311#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {2311#true} is VALID [2022-04-08 14:01:57,133 INFO L272 TraceCheckUtils]: 4: Hoare triple {2311#true} call #t~ret6 := main(); {2311#true} is VALID [2022-04-08 14:01:57,133 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2311#true} {2311#true} #83#return; {2311#true} is VALID [2022-04-08 14:01:57,133 INFO L290 TraceCheckUtils]: 2: Hoare triple {2311#true} assume true; {2311#true} is VALID [2022-04-08 14:01:57,133 INFO L290 TraceCheckUtils]: 1: Hoare triple {2311#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {2311#true} is VALID [2022-04-08 14:01:57,133 INFO L272 TraceCheckUtils]: 0: Hoare triple {2311#true} call ULTIMATE.init(); {2311#true} is VALID [2022-04-08 14:01:57,133 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-08 14:01:57,134 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 14:01:57,134 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1418021372] [2022-04-08 14:01:57,134 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 14:01:57,134 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1598015556] [2022-04-08 14:01:57,134 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1598015556] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-08 14:01:57,134 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-08 14:01:57,134 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [10] total 11 [2022-04-08 14:01:57,135 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 14:01:57,135 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2074332357] [2022-04-08 14:01:57,135 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2074332357] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 14:01:57,135 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 14:01:57,135 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 14:01:57,135 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2101521630] [2022-04-08 14:01:57,135 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 14:01:57,136 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 39 [2022-04-08 14:01:57,136 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 14:01:57,136 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-08 14:01:57,158 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 14:01:57,159 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 14:01:57,159 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 14:01:57,159 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 14:01:57,159 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=22, Invalid=88, Unknown=0, NotChecked=0, Total=110 [2022-04-08 14:01:57,159 INFO L87 Difference]: Start difference. First operand 59 states and 72 transitions. Second operand has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-08 14:01:57,626 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:01:57,627 INFO L93 Difference]: Finished difference Result 65 states and 77 transitions. [2022-04-08 14:01:57,627 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 14:01:57,627 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 39 [2022-04-08 14:01:57,627 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 14:01:57,627 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-08 14:01:57,628 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 41 transitions. [2022-04-08 14:01:57,629 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-08 14:01:57,629 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 41 transitions. [2022-04-08 14:01:57,630 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 41 transitions. [2022-04-08 14:01:57,665 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 14:01:57,666 INFO L225 Difference]: With dead ends: 65 [2022-04-08 14:01:57,666 INFO L226 Difference]: Without dead ends: 53 [2022-04-08 14:01:57,666 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 78 GetRequests, 67 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=26, Invalid=106, Unknown=0, NotChecked=0, Total=132 [2022-04-08 14:01:57,667 INFO L913 BasicCegarLoop]: 37 mSDtfsCounter, 5 mSDsluCounter, 88 mSDsCounter, 0 mSdLazyCounter, 22 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 5 SdHoareTripleChecker+Valid, 125 SdHoareTripleChecker+Invalid, 22 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 22 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-08 14:01:57,667 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [5 Valid, 125 Invalid, 22 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 22 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-08 14:01:57,668 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 53 states. [2022-04-08 14:01:57,745 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 53 to 53. [2022-04-08 14:01:57,745 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 14:01:57,746 INFO L82 GeneralOperation]: Start isEquivalent. First operand 53 states. Second operand has 53 states, 36 states have (on average 1.2777777777777777) internal successors, (46), 38 states have internal predecessors, (46), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 14:01:57,746 INFO L74 IsIncluded]: Start isIncluded. First operand 53 states. Second operand has 53 states, 36 states have (on average 1.2777777777777777) internal successors, (46), 38 states have internal predecessors, (46), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 14:01:57,746 INFO L87 Difference]: Start difference. First operand 53 states. Second operand has 53 states, 36 states have (on average 1.2777777777777777) internal successors, (46), 38 states have internal predecessors, (46), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 14:01:57,749 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:01:57,749 INFO L93 Difference]: Finished difference Result 53 states and 64 transitions. [2022-04-08 14:01:57,749 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 64 transitions. [2022-04-08 14:01:57,749 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 14:01:57,749 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 14:01:57,749 INFO L74 IsIncluded]: Start isIncluded. First operand has 53 states, 36 states have (on average 1.2777777777777777) internal successors, (46), 38 states have internal predecessors, (46), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 53 states. [2022-04-08 14:01:57,750 INFO L87 Difference]: Start difference. First operand has 53 states, 36 states have (on average 1.2777777777777777) internal successors, (46), 38 states have internal predecessors, (46), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 53 states. [2022-04-08 14:01:57,752 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:01:57,752 INFO L93 Difference]: Finished difference Result 53 states and 64 transitions. [2022-04-08 14:01:57,752 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 64 transitions. [2022-04-08 14:01:57,752 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 14:01:57,752 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 14:01:57,752 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 14:01:57,752 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 14:01:57,752 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 53 states, 36 states have (on average 1.2777777777777777) internal successors, (46), 38 states have internal predecessors, (46), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 14:01:57,754 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 53 states to 53 states and 64 transitions. [2022-04-08 14:01:57,754 INFO L78 Accepts]: Start accepts. Automaton has 53 states and 64 transitions. Word has length 39 [2022-04-08 14:01:57,755 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 14:01:57,755 INFO L478 AbstractCegarLoop]: Abstraction has 53 states and 64 transitions. [2022-04-08 14:01:57,755 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-08 14:01:57,755 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 53 states and 64 transitions. [2022-04-08 14:01:57,853 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 14:01:57,853 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 64 transitions. [2022-04-08 14:01:57,854 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-04-08 14:01:57,854 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 14:01:57,854 INFO L499 BasicCegarLoop]: trace histogram [3, 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] [2022-04-08 14:01:57,870 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Ended with exit code 0 [2022-04-08 14:01:58,055 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 14:01:58,059 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 14:01:58,059 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 14:01:58,059 INFO L85 PathProgramCache]: Analyzing trace with hash 844519116, now seen corresponding path program 1 times [2022-04-08 14:01:58,060 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 14:01:58,060 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2000903267] [2022-04-08 14:01:58,060 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 14:01:58,060 INFO L85 PathProgramCache]: Analyzing trace with hash 844519116, now seen corresponding path program 2 times [2022-04-08 14:01:58,060 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 14:01:58,060 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [549744876] [2022-04-08 14:01:58,060 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 14:01:58,061 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 14:01:58,086 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 14:01:58,086 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1897513954] [2022-04-08 14:01:58,086 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 14:01:58,087 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 14:01:58,087 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 14:01:58,093 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 14:01:58,094 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-04-08 14:01:58,134 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 14:01:58,134 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 14:01:58,135 INFO L263 TraceCheckSpWp]: Trace formula consists of 114 conjuncts, 28 conjunts are in the unsatisfiable core [2022-04-08 14:01:58,146 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 14:01:58,147 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 14:01:58,681 INFO L272 TraceCheckUtils]: 0: Hoare triple {2899#true} call ULTIMATE.init(); {2899#true} is VALID [2022-04-08 14:01:58,681 INFO L290 TraceCheckUtils]: 1: Hoare triple {2899#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {2899#true} is VALID [2022-04-08 14:01:58,682 INFO L290 TraceCheckUtils]: 2: Hoare triple {2899#true} assume true; {2899#true} is VALID [2022-04-08 14:01:58,682 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2899#true} {2899#true} #83#return; {2899#true} is VALID [2022-04-08 14:01:58,682 INFO L272 TraceCheckUtils]: 4: Hoare triple {2899#true} call #t~ret6 := main(); {2899#true} is VALID [2022-04-08 14:01:58,682 INFO L290 TraceCheckUtils]: 5: Hoare triple {2899#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {2899#true} is VALID [2022-04-08 14:01:58,682 INFO L272 TraceCheckUtils]: 6: Hoare triple {2899#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {2899#true} is VALID [2022-04-08 14:01:58,683 INFO L290 TraceCheckUtils]: 7: Hoare triple {2899#true} ~cond := #in~cond; {2925#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 14:01:58,684 INFO L290 TraceCheckUtils]: 8: Hoare triple {2925#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2929#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 14:01:58,688 INFO L290 TraceCheckUtils]: 9: Hoare triple {2929#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2929#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 14:01:58,689 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2929#(not (= |assume_abort_if_not_#in~cond| 0))} {2899#true} #71#return; {2936#(and (<= 0 main_~x~0) (<= main_~x~0 100))} is VALID [2022-04-08 14:01:58,689 INFO L290 TraceCheckUtils]: 11: Hoare triple {2936#(and (<= 0 main_~x~0) (<= main_~x~0 100))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2936#(and (<= 0 main_~x~0) (<= main_~x~0 100))} is VALID [2022-04-08 14:01:58,689 INFO L272 TraceCheckUtils]: 12: Hoare triple {2936#(and (<= 0 main_~x~0) (<= main_~x~0 100))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {2899#true} is VALID [2022-04-08 14:01:58,690 INFO L290 TraceCheckUtils]: 13: Hoare triple {2899#true} ~cond := #in~cond; {2899#true} is VALID [2022-04-08 14:01:58,690 INFO L290 TraceCheckUtils]: 14: Hoare triple {2899#true} assume !(0 == ~cond); {2899#true} is VALID [2022-04-08 14:01:58,690 INFO L290 TraceCheckUtils]: 15: Hoare triple {2899#true} assume true; {2899#true} is VALID [2022-04-08 14:01:58,690 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2899#true} {2936#(and (<= 0 main_~x~0) (<= main_~x~0 100))} #73#return; {2936#(and (<= 0 main_~x~0) (<= main_~x~0 100))} is VALID [2022-04-08 14:01:58,690 INFO L272 TraceCheckUtils]: 17: Hoare triple {2936#(and (<= 0 main_~x~0) (<= main_~x~0 100))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2899#true} is VALID [2022-04-08 14:01:58,691 INFO L290 TraceCheckUtils]: 18: Hoare triple {2899#true} ~cond := #in~cond; {2899#true} is VALID [2022-04-08 14:01:58,691 INFO L290 TraceCheckUtils]: 19: Hoare triple {2899#true} assume !(0 == ~cond); {2899#true} is VALID [2022-04-08 14:01:58,691 INFO L290 TraceCheckUtils]: 20: Hoare triple {2899#true} assume true; {2899#true} is VALID [2022-04-08 14:01:58,691 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2899#true} {2936#(and (<= 0 main_~x~0) (<= main_~x~0 100))} #75#return; {2936#(and (<= 0 main_~x~0) (<= main_~x~0 100))} is VALID [2022-04-08 14:01:58,692 INFO L290 TraceCheckUtils]: 22: Hoare triple {2936#(and (<= 0 main_~x~0) (<= main_~x~0 100))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {2973#(and (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (<= main_~x~0 100) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 14:01:58,692 INFO L290 TraceCheckUtils]: 23: Hoare triple {2973#(and (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (<= main_~x~0 100) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {2973#(and (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (<= main_~x~0 100) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 14:01:58,693 INFO L272 TraceCheckUtils]: 24: Hoare triple {2973#(and (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (<= main_~x~0 100) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {2899#true} is VALID [2022-04-08 14:01:58,693 INFO L290 TraceCheckUtils]: 25: Hoare triple {2899#true} ~cond := #in~cond; {2983#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 14:01:58,693 INFO L290 TraceCheckUtils]: 26: Hoare triple {2983#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2987#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 14:01:58,694 INFO L290 TraceCheckUtils]: 27: Hoare triple {2987#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2987#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 14:01:58,695 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2987#(not (= |__VERIFIER_assert_#in~cond| 0))} {2973#(and (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (<= main_~x~0 100) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #77#return; {2994#(and (<= 0 main_~x~0) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0)) (= main_~b~0 main_~y~0) (<= main_~x~0 100) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 14:01:58,695 INFO L290 TraceCheckUtils]: 29: Hoare triple {2994#(and (<= 0 main_~x~0) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0)) (= main_~b~0 main_~y~0) (<= main_~x~0 100) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~a~0 && 0 != ~b~0); {2994#(and (<= 0 main_~x~0) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0)) (= main_~b~0 main_~y~0) (<= main_~x~0 100) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 14:01:58,696 INFO L290 TraceCheckUtils]: 30: Hoare triple {2994#(and (<= 0 main_~x~0) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0)) (= main_~b~0 main_~y~0) (<= main_~x~0 100) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !(0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2)); {2994#(and (<= 0 main_~x~0) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0)) (= main_~b~0 main_~y~0) (<= main_~x~0 100) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 14:01:58,697 INFO L290 TraceCheckUtils]: 31: Hoare triple {2994#(and (<= 0 main_~x~0) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0)) (= main_~b~0 main_~y~0) (<= main_~x~0 100) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !(1 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2)); {2994#(and (<= 0 main_~x~0) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0)) (= main_~b~0 main_~y~0) (<= main_~x~0 100) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 14:01:58,698 INFO L290 TraceCheckUtils]: 32: Hoare triple {2994#(and (<= 0 main_~x~0) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0)) (= main_~b~0 main_~y~0) (<= main_~x~0 100) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 1 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~b~0 := ~b~0 - 1;~q~0 := ~q~0 + ~a~0 * ~p~0; {3007#(and (= main_~b~0 (+ (- 1) main_~y~0)) (<= (mod main_~a~0 2) 0) (= main_~q~0 (+ (* main_~a~0 main_~p~0) (* main_~y~0 main_~x~0) (* (- 1) main_~a~0 main_~p~0 main_~y~0))) (<= 0 main_~x~0) (<= main_~x~0 100) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 14:01:58,698 INFO L290 TraceCheckUtils]: 33: Hoare triple {3007#(and (= main_~b~0 (+ (- 1) main_~y~0)) (<= (mod main_~a~0 2) 0) (= main_~q~0 (+ (* main_~a~0 main_~p~0) (* main_~y~0 main_~x~0) (* (- 1) main_~a~0 main_~p~0 main_~y~0))) (<= 0 main_~x~0) (<= main_~x~0 100) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {3007#(and (= main_~b~0 (+ (- 1) main_~y~0)) (<= (mod main_~a~0 2) 0) (= main_~q~0 (+ (* main_~a~0 main_~p~0) (* main_~y~0 main_~x~0) (* (- 1) main_~a~0 main_~p~0 main_~y~0))) (<= 0 main_~x~0) (<= main_~x~0 100) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 14:01:58,701 INFO L272 TraceCheckUtils]: 34: Hoare triple {3007#(and (= main_~b~0 (+ (- 1) main_~y~0)) (<= (mod main_~a~0 2) 0) (= main_~q~0 (+ (* main_~a~0 main_~p~0) (* main_~y~0 main_~x~0) (* (- 1) main_~a~0 main_~p~0 main_~y~0))) (<= 0 main_~x~0) (<= main_~x~0 100) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {3014#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 14:01:58,701 INFO L290 TraceCheckUtils]: 35: Hoare triple {3014#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3018#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 14:01:58,701 INFO L290 TraceCheckUtils]: 36: Hoare triple {3018#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2900#false} is VALID [2022-04-08 14:01:58,702 INFO L290 TraceCheckUtils]: 37: Hoare triple {2900#false} assume !false; {2900#false} is VALID [2022-04-08 14:01:58,702 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 1 proven. 9 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-08 14:01:58,702 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 14:02:19,794 INFO L290 TraceCheckUtils]: 37: Hoare triple {2900#false} assume !false; {2900#false} is VALID [2022-04-08 14:02:19,795 INFO L290 TraceCheckUtils]: 36: Hoare triple {3018#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2900#false} is VALID [2022-04-08 14:02:19,795 INFO L290 TraceCheckUtils]: 35: Hoare triple {3014#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3018#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 14:02:19,796 INFO L272 TraceCheckUtils]: 34: Hoare triple {3034#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {3014#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 14:02:19,796 INFO L290 TraceCheckUtils]: 33: Hoare triple {3034#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} assume !false; {3034#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-08 14:02:19,808 INFO L290 TraceCheckUtils]: 32: Hoare triple {3041#(or (= (* main_~y~0 main_~x~0) (+ (* main_~a~0 main_~p~0) main_~q~0 (* main_~a~0 main_~p~0 (+ (- 1) main_~b~0)))) (and (not (< main_~a~0 0)) (not (<= (mod main_~a~0 2) 0))))} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 1 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~b~0 := ~b~0 - 1;~q~0 := ~q~0 + ~a~0 * ~p~0; {3034#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-08 14:02:19,809 INFO L290 TraceCheckUtils]: 31: Hoare triple {3041#(or (= (* main_~y~0 main_~x~0) (+ (* main_~a~0 main_~p~0) main_~q~0 (* main_~a~0 main_~p~0 (+ (- 1) main_~b~0)))) (and (not (< main_~a~0 0)) (not (<= (mod main_~a~0 2) 0))))} assume !(1 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2)); {3041#(or (= (* main_~y~0 main_~x~0) (+ (* main_~a~0 main_~p~0) main_~q~0 (* main_~a~0 main_~p~0 (+ (- 1) main_~b~0)))) (and (not (< main_~a~0 0)) (not (<= (mod main_~a~0 2) 0))))} is VALID [2022-04-08 14:02:19,810 INFO L290 TraceCheckUtils]: 30: Hoare triple {3041#(or (= (* main_~y~0 main_~x~0) (+ (* main_~a~0 main_~p~0) main_~q~0 (* main_~a~0 main_~p~0 (+ (- 1) main_~b~0)))) (and (not (< main_~a~0 0)) (not (<= (mod main_~a~0 2) 0))))} assume !(0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2)); {3041#(or (= (* main_~y~0 main_~x~0) (+ (* main_~a~0 main_~p~0) main_~q~0 (* main_~a~0 main_~p~0 (+ (- 1) main_~b~0)))) (and (not (< main_~a~0 0)) (not (<= (mod main_~a~0 2) 0))))} is VALID [2022-04-08 14:02:19,810 INFO L290 TraceCheckUtils]: 29: Hoare triple {3041#(or (= (* main_~y~0 main_~x~0) (+ (* main_~a~0 main_~p~0) main_~q~0 (* main_~a~0 main_~p~0 (+ (- 1) main_~b~0)))) (and (not (< main_~a~0 0)) (not (<= (mod main_~a~0 2) 0))))} assume !!(0 != ~a~0 && 0 != ~b~0); {3041#(or (= (* main_~y~0 main_~x~0) (+ (* main_~a~0 main_~p~0) main_~q~0 (* main_~a~0 main_~p~0 (+ (- 1) main_~b~0)))) (and (not (< main_~a~0 0)) (not (<= (mod main_~a~0 2) 0))))} is VALID [2022-04-08 14:02:19,811 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2987#(not (= |__VERIFIER_assert_#in~cond| 0))} {2899#true} #77#return; {3041#(or (= (* main_~y~0 main_~x~0) (+ (* main_~a~0 main_~p~0) main_~q~0 (* main_~a~0 main_~p~0 (+ (- 1) main_~b~0)))) (and (not (< main_~a~0 0)) (not (<= (mod main_~a~0 2) 0))))} is VALID [2022-04-08 14:02:19,811 INFO L290 TraceCheckUtils]: 27: Hoare triple {2987#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2987#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 14:02:19,812 INFO L290 TraceCheckUtils]: 26: Hoare triple {3063#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {2987#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 14:02:19,812 INFO L290 TraceCheckUtils]: 25: Hoare triple {2899#true} ~cond := #in~cond; {3063#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 14:02:19,812 INFO L272 TraceCheckUtils]: 24: Hoare triple {2899#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {2899#true} is VALID [2022-04-08 14:02:19,812 INFO L290 TraceCheckUtils]: 23: Hoare triple {2899#true} assume !false; {2899#true} is VALID [2022-04-08 14:02:19,812 INFO L290 TraceCheckUtils]: 22: Hoare triple {2899#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {2899#true} is VALID [2022-04-08 14:02:19,812 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2899#true} {2899#true} #75#return; {2899#true} is VALID [2022-04-08 14:02:19,812 INFO L290 TraceCheckUtils]: 20: Hoare triple {2899#true} assume true; {2899#true} is VALID [2022-04-08 14:02:19,813 INFO L290 TraceCheckUtils]: 19: Hoare triple {2899#true} assume !(0 == ~cond); {2899#true} is VALID [2022-04-08 14:02:19,813 INFO L290 TraceCheckUtils]: 18: Hoare triple {2899#true} ~cond := #in~cond; {2899#true} is VALID [2022-04-08 14:02:19,813 INFO L272 TraceCheckUtils]: 17: Hoare triple {2899#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2899#true} is VALID [2022-04-08 14:02:19,813 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2899#true} {2899#true} #73#return; {2899#true} is VALID [2022-04-08 14:02:19,813 INFO L290 TraceCheckUtils]: 15: Hoare triple {2899#true} assume true; {2899#true} is VALID [2022-04-08 14:02:19,813 INFO L290 TraceCheckUtils]: 14: Hoare triple {2899#true} assume !(0 == ~cond); {2899#true} is VALID [2022-04-08 14:02:19,813 INFO L290 TraceCheckUtils]: 13: Hoare triple {2899#true} ~cond := #in~cond; {2899#true} is VALID [2022-04-08 14:02:19,813 INFO L272 TraceCheckUtils]: 12: Hoare triple {2899#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {2899#true} is VALID [2022-04-08 14:02:19,813 INFO L290 TraceCheckUtils]: 11: Hoare triple {2899#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2899#true} is VALID [2022-04-08 14:02:19,814 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2899#true} {2899#true} #71#return; {2899#true} is VALID [2022-04-08 14:02:19,814 INFO L290 TraceCheckUtils]: 9: Hoare triple {2899#true} assume true; {2899#true} is VALID [2022-04-08 14:02:19,814 INFO L290 TraceCheckUtils]: 8: Hoare triple {2899#true} assume !(0 == ~cond); {2899#true} is VALID [2022-04-08 14:02:19,814 INFO L290 TraceCheckUtils]: 7: Hoare triple {2899#true} ~cond := #in~cond; {2899#true} is VALID [2022-04-08 14:02:19,814 INFO L272 TraceCheckUtils]: 6: Hoare triple {2899#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {2899#true} is VALID [2022-04-08 14:02:19,814 INFO L290 TraceCheckUtils]: 5: Hoare triple {2899#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {2899#true} is VALID [2022-04-08 14:02:19,814 INFO L272 TraceCheckUtils]: 4: Hoare triple {2899#true} call #t~ret6 := main(); {2899#true} is VALID [2022-04-08 14:02:19,814 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2899#true} {2899#true} #83#return; {2899#true} is VALID [2022-04-08 14:02:19,814 INFO L290 TraceCheckUtils]: 2: Hoare triple {2899#true} assume true; {2899#true} is VALID [2022-04-08 14:02:19,814 INFO L290 TraceCheckUtils]: 1: Hoare triple {2899#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {2899#true} is VALID [2022-04-08 14:02:19,815 INFO L272 TraceCheckUtils]: 0: Hoare triple {2899#true} call ULTIMATE.init(); {2899#true} is VALID [2022-04-08 14:02:19,815 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 3 proven. 1 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-08 14:02:19,815 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 14:02:19,815 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [549744876] [2022-04-08 14:02:19,815 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 14:02:19,815 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1897513954] [2022-04-08 14:02:19,815 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1897513954] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 14:02:19,815 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 14:02:19,816 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 8] total 15 [2022-04-08 14:02:19,816 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 14:02:19,816 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2000903267] [2022-04-08 14:02:19,816 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2000903267] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 14:02:19,816 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 14:02:19,816 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-08 14:02:19,816 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [646464883] [2022-04-08 14:02:19,816 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 14:02:19,816 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 11 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 38 [2022-04-08 14:02:19,817 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 14:02:19,817 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 11 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 14:02:19,850 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 14:02:19,850 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-08 14:02:19,850 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 14:02:19,851 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-08 14:02:19,851 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=40, Invalid=170, Unknown=0, NotChecked=0, Total=210 [2022-04-08 14:02:19,851 INFO L87 Difference]: Start difference. First operand 53 states and 64 transitions. Second operand has 12 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 11 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 14:02:20,693 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:02:20,693 INFO L93 Difference]: Finished difference Result 78 states and 99 transitions. [2022-04-08 14:02:20,693 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-08 14:02:20,693 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 11 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 38 [2022-04-08 14:02:20,694 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 14:02:20,694 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 11 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 14:02:20,696 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 77 transitions. [2022-04-08 14:02:20,696 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 11 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 14:02:20,697 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 77 transitions. [2022-04-08 14:02:20,697 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 77 transitions. [2022-04-08 14:02:20,775 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 14:02:20,776 INFO L225 Difference]: With dead ends: 78 [2022-04-08 14:02:20,776 INFO L226 Difference]: Without dead ends: 65 [2022-04-08 14:02:20,777 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 78 GetRequests, 61 SyntacticMatches, 1 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 42 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=57, Invalid=249, Unknown=0, NotChecked=0, Total=306 [2022-04-08 14:02:20,778 INFO L913 BasicCegarLoop]: 21 mSDtfsCounter, 31 mSDsluCounter, 105 mSDsCounter, 0 mSdLazyCounter, 244 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 33 SdHoareTripleChecker+Valid, 126 SdHoareTripleChecker+Invalid, 254 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 244 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-08 14:02:20,778 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [33 Valid, 126 Invalid, 254 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 244 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-08 14:02:20,778 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 65 states. [2022-04-08 14:02:20,877 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 65 to 63. [2022-04-08 14:02:20,877 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 14:02:20,877 INFO L82 GeneralOperation]: Start isEquivalent. First operand 65 states. Second operand has 63 states, 44 states have (on average 1.2954545454545454) internal successors, (57), 46 states have internal predecessors, (57), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-08 14:02:20,877 INFO L74 IsIncluded]: Start isIncluded. First operand 65 states. Second operand has 63 states, 44 states have (on average 1.2954545454545454) internal successors, (57), 46 states have internal predecessors, (57), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-08 14:02:20,878 INFO L87 Difference]: Start difference. First operand 65 states. Second operand has 63 states, 44 states have (on average 1.2954545454545454) internal successors, (57), 46 states have internal predecessors, (57), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-08 14:02:20,880 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:02:20,880 INFO L93 Difference]: Finished difference Result 65 states and 80 transitions. [2022-04-08 14:02:20,880 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 80 transitions. [2022-04-08 14:02:20,880 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 14:02:20,880 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 14:02:20,880 INFO L74 IsIncluded]: Start isIncluded. First operand has 63 states, 44 states have (on average 1.2954545454545454) internal successors, (57), 46 states have internal predecessors, (57), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) Second operand 65 states. [2022-04-08 14:02:20,881 INFO L87 Difference]: Start difference. First operand has 63 states, 44 states have (on average 1.2954545454545454) internal successors, (57), 46 states have internal predecessors, (57), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) Second operand 65 states. [2022-04-08 14:02:20,882 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:02:20,883 INFO L93 Difference]: Finished difference Result 65 states and 80 transitions. [2022-04-08 14:02:20,883 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 80 transitions. [2022-04-08 14:02:20,883 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 14:02:20,883 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 14:02:20,883 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 14:02:20,883 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 14:02:20,883 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 63 states, 44 states have (on average 1.2954545454545454) internal successors, (57), 46 states have internal predecessors, (57), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-08 14:02:20,885 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 63 states to 63 states and 77 transitions. [2022-04-08 14:02:20,885 INFO L78 Accepts]: Start accepts. Automaton has 63 states and 77 transitions. Word has length 38 [2022-04-08 14:02:20,886 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 14:02:20,886 INFO L478 AbstractCegarLoop]: Abstraction has 63 states and 77 transitions. [2022-04-08 14:02:20,886 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 11 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 14:02:20,886 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 63 states and 77 transitions. [2022-04-08 14:02:21,001 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 14:02:21,001 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 77 transitions. [2022-04-08 14:02:21,001 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-04-08 14:02:21,001 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 14:02:21,001 INFO L499 BasicCegarLoop]: trace histogram [3, 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] [2022-04-08 14:02:21,029 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-04-08 14:02:21,224 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 14:02:21,225 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 14:02:21,225 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 14:02:21,225 INFO L85 PathProgramCache]: Analyzing trace with hash 901777418, now seen corresponding path program 1 times [2022-04-08 14:02:21,225 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 14:02:21,225 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [60816568] [2022-04-08 14:02:21,226 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 14:02:21,226 INFO L85 PathProgramCache]: Analyzing trace with hash 901777418, now seen corresponding path program 2 times [2022-04-08 14:02:21,226 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 14:02:21,226 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1340770730] [2022-04-08 14:02:21,226 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 14:02:21,226 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 14:02:21,239 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 14:02:21,240 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1408242617] [2022-04-08 14:02:21,240 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 14:02:21,240 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 14:02:21,240 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 14:02:21,241 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 14:02:21,250 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-04-08 14:02:21,325 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 14:02:21,326 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 14:02:21,327 INFO L263 TraceCheckSpWp]: Trace formula consists of 113 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-08 14:02:21,336 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 14:02:21,337 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 14:02:21,614 INFO L272 TraceCheckUtils]: 0: Hoare triple {3559#true} call ULTIMATE.init(); {3559#true} is VALID [2022-04-08 14:02:21,614 INFO L290 TraceCheckUtils]: 1: Hoare triple {3559#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {3559#true} is VALID [2022-04-08 14:02:21,614 INFO L290 TraceCheckUtils]: 2: Hoare triple {3559#true} assume true; {3559#true} is VALID [2022-04-08 14:02:21,614 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3559#true} {3559#true} #83#return; {3559#true} is VALID [2022-04-08 14:02:21,614 INFO L272 TraceCheckUtils]: 4: Hoare triple {3559#true} call #t~ret6 := main(); {3559#true} is VALID [2022-04-08 14:02:21,615 INFO L290 TraceCheckUtils]: 5: Hoare triple {3559#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {3559#true} is VALID [2022-04-08 14:02:21,615 INFO L272 TraceCheckUtils]: 6: Hoare triple {3559#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {3559#true} is VALID [2022-04-08 14:02:21,615 INFO L290 TraceCheckUtils]: 7: Hoare triple {3559#true} ~cond := #in~cond; {3559#true} is VALID [2022-04-08 14:02:21,615 INFO L290 TraceCheckUtils]: 8: Hoare triple {3559#true} assume !(0 == ~cond); {3559#true} is VALID [2022-04-08 14:02:21,615 INFO L290 TraceCheckUtils]: 9: Hoare triple {3559#true} assume true; {3559#true} is VALID [2022-04-08 14:02:21,615 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3559#true} {3559#true} #71#return; {3559#true} is VALID [2022-04-08 14:02:21,615 INFO L290 TraceCheckUtils]: 11: Hoare triple {3559#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3559#true} is VALID [2022-04-08 14:02:21,615 INFO L272 TraceCheckUtils]: 12: Hoare triple {3559#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {3559#true} is VALID [2022-04-08 14:02:21,615 INFO L290 TraceCheckUtils]: 13: Hoare triple {3559#true} ~cond := #in~cond; {3559#true} is VALID [2022-04-08 14:02:21,616 INFO L290 TraceCheckUtils]: 14: Hoare triple {3559#true} assume !(0 == ~cond); {3559#true} is VALID [2022-04-08 14:02:21,616 INFO L290 TraceCheckUtils]: 15: Hoare triple {3559#true} assume true; {3559#true} is VALID [2022-04-08 14:02:21,616 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3559#true} {3559#true} #73#return; {3559#true} is VALID [2022-04-08 14:02:21,616 INFO L272 TraceCheckUtils]: 17: Hoare triple {3559#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3559#true} is VALID [2022-04-08 14:02:21,616 INFO L290 TraceCheckUtils]: 18: Hoare triple {3559#true} ~cond := #in~cond; {3559#true} is VALID [2022-04-08 14:02:21,616 INFO L290 TraceCheckUtils]: 19: Hoare triple {3559#true} assume !(0 == ~cond); {3559#true} is VALID [2022-04-08 14:02:21,616 INFO L290 TraceCheckUtils]: 20: Hoare triple {3559#true} assume true; {3559#true} is VALID [2022-04-08 14:02:21,616 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3559#true} {3559#true} #75#return; {3559#true} is VALID [2022-04-08 14:02:21,617 INFO L290 TraceCheckUtils]: 22: Hoare triple {3559#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {3630#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 14:02:21,617 INFO L290 TraceCheckUtils]: 23: Hoare triple {3630#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {3630#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 14:02:21,619 INFO L272 TraceCheckUtils]: 24: Hoare triple {3630#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {3559#true} is VALID [2022-04-08 14:02:21,620 INFO L290 TraceCheckUtils]: 25: Hoare triple {3559#true} ~cond := #in~cond; {3640#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 14:02:21,620 INFO L290 TraceCheckUtils]: 26: Hoare triple {3640#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3644#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 14:02:21,620 INFO L290 TraceCheckUtils]: 27: Hoare triple {3644#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3644#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 14:02:21,621 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3644#(not (= |__VERIFIER_assert_#in~cond| 0))} {3630#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #77#return; {3630#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 14:02:21,621 INFO L290 TraceCheckUtils]: 29: Hoare triple {3630#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~a~0 && 0 != ~b~0); {3630#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 14:02:21,622 INFO L290 TraceCheckUtils]: 30: Hoare triple {3630#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !(0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2)); {3630#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 14:02:21,622 INFO L290 TraceCheckUtils]: 31: Hoare triple {3630#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !(1 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2)); {3630#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 14:02:21,623 INFO L290 TraceCheckUtils]: 32: Hoare triple {3630#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !(0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 1 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2));~a~0 := ~a~0 - 1;~b~0 := ~b~0 - 1;~q~0 := ~q~0 + (1 + (~a~0 + ~b~0)) * ~p~0; {3663#(and (= main_~b~0 (+ (- 1) main_~y~0)) (= (+ main_~q~0 (* (- 1) main_~a~0 main_~p~0) (* (- 1) main_~b~0 main_~p~0) (* (- 1) main_~p~0)) 0) (= (+ main_~a~0 1) main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 14:02:21,624 INFO L290 TraceCheckUtils]: 33: Hoare triple {3663#(and (= main_~b~0 (+ (- 1) main_~y~0)) (= (+ main_~q~0 (* (- 1) main_~a~0 main_~p~0) (* (- 1) main_~b~0 main_~p~0) (* (- 1) main_~p~0)) 0) (= (+ main_~a~0 1) main_~x~0) (= main_~p~0 1))} assume !false; {3663#(and (= main_~b~0 (+ (- 1) main_~y~0)) (= (+ main_~q~0 (* (- 1) main_~a~0 main_~p~0) (* (- 1) main_~b~0 main_~p~0) (* (- 1) main_~p~0)) 0) (= (+ main_~a~0 1) main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 14:02:21,627 INFO L272 TraceCheckUtils]: 34: Hoare triple {3663#(and (= main_~b~0 (+ (- 1) main_~y~0)) (= (+ main_~q~0 (* (- 1) main_~a~0 main_~p~0) (* (- 1) main_~b~0 main_~p~0) (* (- 1) main_~p~0)) 0) (= (+ main_~a~0 1) main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {3670#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 14:02:21,628 INFO L290 TraceCheckUtils]: 35: Hoare triple {3670#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3674#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 14:02:21,628 INFO L290 TraceCheckUtils]: 36: Hoare triple {3674#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3560#false} is VALID [2022-04-08 14:02:21,628 INFO L290 TraceCheckUtils]: 37: Hoare triple {3560#false} assume !false; {3560#false} is VALID [2022-04-08 14:02:21,629 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 1 proven. 3 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-08 14:02:21,629 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 14:02:41,939 INFO L290 TraceCheckUtils]: 37: Hoare triple {3560#false} assume !false; {3560#false} is VALID [2022-04-08 14:02:41,940 INFO L290 TraceCheckUtils]: 36: Hoare triple {3674#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3560#false} is VALID [2022-04-08 14:02:41,940 INFO L290 TraceCheckUtils]: 35: Hoare triple {3670#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3674#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 14:02:41,941 INFO L272 TraceCheckUtils]: 34: Hoare triple {3690#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {3670#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 14:02:41,942 INFO L290 TraceCheckUtils]: 33: Hoare triple {3690#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} assume !false; {3690#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-08 14:02:41,987 INFO L290 TraceCheckUtils]: 32: Hoare triple {3690#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} assume !(0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 1 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2));~a~0 := ~a~0 - 1;~b~0 := ~b~0 - 1;~q~0 := ~q~0 + (1 + (~a~0 + ~b~0)) * ~p~0; {3690#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-08 14:02:41,988 INFO L290 TraceCheckUtils]: 31: Hoare triple {3690#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} assume !(1 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2)); {3690#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-08 14:02:41,988 INFO L290 TraceCheckUtils]: 30: Hoare triple {3690#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} assume !(0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2)); {3690#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-08 14:02:41,989 INFO L290 TraceCheckUtils]: 29: Hoare triple {3690#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} assume !!(0 != ~a~0 && 0 != ~b~0); {3690#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-08 14:02:41,989 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3644#(not (= |__VERIFIER_assert_#in~cond| 0))} {3559#true} #77#return; {3690#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-08 14:02:41,990 INFO L290 TraceCheckUtils]: 27: Hoare triple {3644#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3644#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 14:02:41,990 INFO L290 TraceCheckUtils]: 26: Hoare triple {3718#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {3644#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 14:02:41,990 INFO L290 TraceCheckUtils]: 25: Hoare triple {3559#true} ~cond := #in~cond; {3718#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 14:02:41,990 INFO L272 TraceCheckUtils]: 24: Hoare triple {3559#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {3559#true} is VALID [2022-04-08 14:02:41,990 INFO L290 TraceCheckUtils]: 23: Hoare triple {3559#true} assume !false; {3559#true} is VALID [2022-04-08 14:02:41,990 INFO L290 TraceCheckUtils]: 22: Hoare triple {3559#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {3559#true} is VALID [2022-04-08 14:02:41,991 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3559#true} {3559#true} #75#return; {3559#true} is VALID [2022-04-08 14:02:41,991 INFO L290 TraceCheckUtils]: 20: Hoare triple {3559#true} assume true; {3559#true} is VALID [2022-04-08 14:02:41,991 INFO L290 TraceCheckUtils]: 19: Hoare triple {3559#true} assume !(0 == ~cond); {3559#true} is VALID [2022-04-08 14:02:41,991 INFO L290 TraceCheckUtils]: 18: Hoare triple {3559#true} ~cond := #in~cond; {3559#true} is VALID [2022-04-08 14:02:41,991 INFO L272 TraceCheckUtils]: 17: Hoare triple {3559#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3559#true} is VALID [2022-04-08 14:02:41,991 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3559#true} {3559#true} #73#return; {3559#true} is VALID [2022-04-08 14:02:41,991 INFO L290 TraceCheckUtils]: 15: Hoare triple {3559#true} assume true; {3559#true} is VALID [2022-04-08 14:02:41,991 INFO L290 TraceCheckUtils]: 14: Hoare triple {3559#true} assume !(0 == ~cond); {3559#true} is VALID [2022-04-08 14:02:41,991 INFO L290 TraceCheckUtils]: 13: Hoare triple {3559#true} ~cond := #in~cond; {3559#true} is VALID [2022-04-08 14:02:41,991 INFO L272 TraceCheckUtils]: 12: Hoare triple {3559#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {3559#true} is VALID [2022-04-08 14:02:41,991 INFO L290 TraceCheckUtils]: 11: Hoare triple {3559#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3559#true} is VALID [2022-04-08 14:02:41,992 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3559#true} {3559#true} #71#return; {3559#true} is VALID [2022-04-08 14:02:41,992 INFO L290 TraceCheckUtils]: 9: Hoare triple {3559#true} assume true; {3559#true} is VALID [2022-04-08 14:02:41,992 INFO L290 TraceCheckUtils]: 8: Hoare triple {3559#true} assume !(0 == ~cond); {3559#true} is VALID [2022-04-08 14:02:41,992 INFO L290 TraceCheckUtils]: 7: Hoare triple {3559#true} ~cond := #in~cond; {3559#true} is VALID [2022-04-08 14:02:41,992 INFO L272 TraceCheckUtils]: 6: Hoare triple {3559#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {3559#true} is VALID [2022-04-08 14:02:41,992 INFO L290 TraceCheckUtils]: 5: Hoare triple {3559#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {3559#true} is VALID [2022-04-08 14:02:41,992 INFO L272 TraceCheckUtils]: 4: Hoare triple {3559#true} call #t~ret6 := main(); {3559#true} is VALID [2022-04-08 14:02:41,992 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3559#true} {3559#true} #83#return; {3559#true} is VALID [2022-04-08 14:02:41,992 INFO L290 TraceCheckUtils]: 2: Hoare triple {3559#true} assume true; {3559#true} is VALID [2022-04-08 14:02:41,992 INFO L290 TraceCheckUtils]: 1: Hoare triple {3559#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {3559#true} is VALID [2022-04-08 14:02:41,993 INFO L272 TraceCheckUtils]: 0: Hoare triple {3559#true} call ULTIMATE.init(); {3559#true} is VALID [2022-04-08 14:02:41,993 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 3 proven. 1 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-08 14:02:41,993 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 14:02:41,993 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1340770730] [2022-04-08 14:02:41,993 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 14:02:41,993 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1408242617] [2022-04-08 14:02:41,993 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1408242617] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 14:02:41,993 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 14:02:41,993 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 7] total 10 [2022-04-08 14:02:41,994 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 14:02:41,994 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [60816568] [2022-04-08 14:02:41,994 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [60816568] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 14:02:41,994 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 14:02:41,994 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 14:02:41,994 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2040255741] [2022-04-08 14:02:41,994 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 14:02:41,994 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.5) internal successors, (20), 7 states have internal predecessors, (20), 3 states have call successors, (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 38 [2022-04-08 14:02:41,994 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 14:02:41,995 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 2.5) internal successors, (20), 7 states have internal predecessors, (20), 3 states have call successors, (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-08 14:02:42,020 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 14:02:42,020 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 14:02:42,020 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 14:02:42,021 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 14:02:42,021 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=67, Unknown=0, NotChecked=0, Total=90 [2022-04-08 14:02:42,021 INFO L87 Difference]: Start difference. First operand 63 states and 77 transitions. Second operand has 8 states, 8 states have (on average 2.5) internal successors, (20), 7 states have internal predecessors, (20), 3 states have call successors, (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-08 14:02:42,586 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:02:42,587 INFO L93 Difference]: Finished difference Result 76 states and 94 transitions. [2022-04-08 14:02:42,587 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-08 14:02:42,587 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.5) internal successors, (20), 7 states have internal predecessors, (20), 3 states have call successors, (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 38 [2022-04-08 14:02:42,587 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 14:02:42,587 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.5) internal successors, (20), 7 states have internal predecessors, (20), 3 states have call successors, (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-08 14:02:42,589 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 61 transitions. [2022-04-08 14:02:42,589 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.5) internal successors, (20), 7 states have internal predecessors, (20), 3 states have call successors, (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-08 14:02:42,590 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 61 transitions. [2022-04-08 14:02:42,590 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 61 transitions. [2022-04-08 14:02:42,645 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 61 edges. 61 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 14:02:42,647 INFO L225 Difference]: With dead ends: 76 [2022-04-08 14:02:42,647 INFO L226 Difference]: Without dead ends: 74 [2022-04-08 14:02:42,647 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 77 GetRequests, 65 SyntacticMatches, 2 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=36, Invalid=96, Unknown=0, NotChecked=0, Total=132 [2022-04-08 14:02:42,648 INFO L913 BasicCegarLoop]: 26 mSDtfsCounter, 16 mSDsluCounter, 94 mSDsCounter, 0 mSdLazyCounter, 148 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 17 SdHoareTripleChecker+Valid, 120 SdHoareTripleChecker+Invalid, 151 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 148 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-08 14:02:42,648 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [17 Valid, 120 Invalid, 151 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 148 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-08 14:02:42,648 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 74 states. [2022-04-08 14:02:42,728 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 74 to 63. [2022-04-08 14:02:42,728 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 14:02:42,728 INFO L82 GeneralOperation]: Start isEquivalent. First operand 74 states. Second operand has 63 states, 44 states have (on average 1.2954545454545454) internal successors, (57), 46 states have internal predecessors, (57), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-08 14:02:42,729 INFO L74 IsIncluded]: Start isIncluded. First operand 74 states. Second operand has 63 states, 44 states have (on average 1.2954545454545454) internal successors, (57), 46 states have internal predecessors, (57), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-08 14:02:42,729 INFO L87 Difference]: Start difference. First operand 74 states. Second operand has 63 states, 44 states have (on average 1.2954545454545454) internal successors, (57), 46 states have internal predecessors, (57), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-08 14:02:42,731 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:02:42,731 INFO L93 Difference]: Finished difference Result 74 states and 92 transitions. [2022-04-08 14:02:42,731 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 92 transitions. [2022-04-08 14:02:42,732 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 14:02:42,732 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 14:02:42,732 INFO L74 IsIncluded]: Start isIncluded. First operand has 63 states, 44 states have (on average 1.2954545454545454) internal successors, (57), 46 states have internal predecessors, (57), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) Second operand 74 states. [2022-04-08 14:02:42,732 INFO L87 Difference]: Start difference. First operand has 63 states, 44 states have (on average 1.2954545454545454) internal successors, (57), 46 states have internal predecessors, (57), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) Second operand 74 states. [2022-04-08 14:02:42,734 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:02:42,734 INFO L93 Difference]: Finished difference Result 74 states and 92 transitions. [2022-04-08 14:02:42,734 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 92 transitions. [2022-04-08 14:02:42,735 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 14:02:42,735 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 14:02:42,735 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 14:02:42,735 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 14:02:42,735 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 63 states, 44 states have (on average 1.2954545454545454) internal successors, (57), 46 states have internal predecessors, (57), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-08 14:02:42,737 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 63 states to 63 states and 77 transitions. [2022-04-08 14:02:42,737 INFO L78 Accepts]: Start accepts. Automaton has 63 states and 77 transitions. Word has length 38 [2022-04-08 14:02:42,737 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 14:02:42,737 INFO L478 AbstractCegarLoop]: Abstraction has 63 states and 77 transitions. [2022-04-08 14:02:42,738 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 2.5) internal successors, (20), 7 states have internal predecessors, (20), 3 states have call successors, (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-08 14:02:42,738 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 63 states and 77 transitions. [2022-04-08 14:02:42,865 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 14:02:42,865 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 77 transitions. [2022-04-08 14:02:42,866 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-04-08 14:02:42,866 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 14:02:42,866 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 14:02:42,874 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-08 14:02:43,070 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 14:02:43,071 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 14:02:43,071 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 14:02:43,071 INFO L85 PathProgramCache]: Analyzing trace with hash -982526417, now seen corresponding path program 1 times [2022-04-08 14:02:43,071 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 14:02:43,071 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [498236695] [2022-04-08 14:02:43,072 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 14:02:43,072 INFO L85 PathProgramCache]: Analyzing trace with hash -982526417, now seen corresponding path program 2 times [2022-04-08 14:02:43,072 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 14:02:43,072 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1747935363] [2022-04-08 14:02:43,072 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 14:02:43,072 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 14:02:43,085 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 14:02:43,085 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1286470786] [2022-04-08 14:02:43,085 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 14:02:43,085 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 14:02:43,085 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 14:02:43,086 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 14:02:43,095 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-04-08 14:02:43,134 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 14:02:43,134 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 14:02:43,135 INFO L263 TraceCheckSpWp]: Trace formula consists of 124 conjuncts, 22 conjunts are in the unsatisfiable core [2022-04-08 14:02:43,143 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 14:02:43,144 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 14:02:43,734 INFO L272 TraceCheckUtils]: 0: Hoare triple {4226#true} call ULTIMATE.init(); {4226#true} is VALID [2022-04-08 14:02:43,734 INFO L290 TraceCheckUtils]: 1: Hoare triple {4226#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {4226#true} is VALID [2022-04-08 14:02:43,734 INFO L290 TraceCheckUtils]: 2: Hoare triple {4226#true} assume true; {4226#true} is VALID [2022-04-08 14:02:43,734 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4226#true} {4226#true} #83#return; {4226#true} is VALID [2022-04-08 14:02:43,734 INFO L272 TraceCheckUtils]: 4: Hoare triple {4226#true} call #t~ret6 := main(); {4226#true} is VALID [2022-04-08 14:02:43,734 INFO L290 TraceCheckUtils]: 5: Hoare triple {4226#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {4226#true} is VALID [2022-04-08 14:02:43,734 INFO L272 TraceCheckUtils]: 6: Hoare triple {4226#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {4226#true} is VALID [2022-04-08 14:02:43,735 INFO L290 TraceCheckUtils]: 7: Hoare triple {4226#true} ~cond := #in~cond; {4252#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 14:02:43,735 INFO L290 TraceCheckUtils]: 8: Hoare triple {4252#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {4256#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 14:02:43,735 INFO L290 TraceCheckUtils]: 9: Hoare triple {4256#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4256#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 14:02:43,736 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4256#(not (= |assume_abort_if_not_#in~cond| 0))} {4226#true} #71#return; {4263#(and (<= 0 main_~x~0) (<= main_~x~0 100))} is VALID [2022-04-08 14:02:43,736 INFO L290 TraceCheckUtils]: 11: Hoare triple {4263#(and (<= 0 main_~x~0) (<= main_~x~0 100))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4263#(and (<= 0 main_~x~0) (<= main_~x~0 100))} is VALID [2022-04-08 14:02:43,736 INFO L272 TraceCheckUtils]: 12: Hoare triple {4263#(and (<= 0 main_~x~0) (<= main_~x~0 100))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {4226#true} is VALID [2022-04-08 14:02:43,736 INFO L290 TraceCheckUtils]: 13: Hoare triple {4226#true} ~cond := #in~cond; {4226#true} is VALID [2022-04-08 14:02:43,736 INFO L290 TraceCheckUtils]: 14: Hoare triple {4226#true} assume !(0 == ~cond); {4226#true} is VALID [2022-04-08 14:02:43,736 INFO L290 TraceCheckUtils]: 15: Hoare triple {4226#true} assume true; {4226#true} is VALID [2022-04-08 14:02:43,737 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4226#true} {4263#(and (<= 0 main_~x~0) (<= main_~x~0 100))} #73#return; {4263#(and (<= 0 main_~x~0) (<= main_~x~0 100))} is VALID [2022-04-08 14:02:43,737 INFO L272 TraceCheckUtils]: 17: Hoare triple {4263#(and (<= 0 main_~x~0) (<= main_~x~0 100))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4226#true} is VALID [2022-04-08 14:02:43,737 INFO L290 TraceCheckUtils]: 18: Hoare triple {4226#true} ~cond := #in~cond; {4252#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 14:02:43,737 INFO L290 TraceCheckUtils]: 19: Hoare triple {4252#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {4256#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 14:02:43,738 INFO L290 TraceCheckUtils]: 20: Hoare triple {4256#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4256#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 14:02:43,738 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4256#(not (= |assume_abort_if_not_#in~cond| 0))} {4263#(and (<= 0 main_~x~0) (<= main_~x~0 100))} #75#return; {4297#(and (<= 0 main_~x~0) (<= main_~x~0 100) (<= 1 main_~y~0))} is VALID [2022-04-08 14:02:43,739 INFO L290 TraceCheckUtils]: 22: Hoare triple {4297#(and (<= 0 main_~x~0) (<= main_~x~0 100) (<= 1 main_~y~0))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {4301#(and (<= 0 main_~a~0) (<= 1 main_~b~0))} is VALID [2022-04-08 14:02:43,739 INFO L290 TraceCheckUtils]: 23: Hoare triple {4301#(and (<= 0 main_~a~0) (<= 1 main_~b~0))} assume !false; {4301#(and (<= 0 main_~a~0) (<= 1 main_~b~0))} is VALID [2022-04-08 14:02:43,739 INFO L272 TraceCheckUtils]: 24: Hoare triple {4301#(and (<= 0 main_~a~0) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {4226#true} is VALID [2022-04-08 14:02:43,739 INFO L290 TraceCheckUtils]: 25: Hoare triple {4226#true} ~cond := #in~cond; {4226#true} is VALID [2022-04-08 14:02:43,739 INFO L290 TraceCheckUtils]: 26: Hoare triple {4226#true} assume !(0 == ~cond); {4226#true} is VALID [2022-04-08 14:02:43,739 INFO L290 TraceCheckUtils]: 27: Hoare triple {4226#true} assume true; {4226#true} is VALID [2022-04-08 14:02:43,740 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4226#true} {4301#(and (<= 0 main_~a~0) (<= 1 main_~b~0))} #77#return; {4301#(and (<= 0 main_~a~0) (<= 1 main_~b~0))} is VALID [2022-04-08 14:02:43,740 INFO L290 TraceCheckUtils]: 29: Hoare triple {4301#(and (<= 0 main_~a~0) (<= 1 main_~b~0))} assume !!(0 != ~a~0 && 0 != ~b~0); {4323#(and (<= 0 main_~a~0) (not (= main_~a~0 0)) (<= 1 main_~b~0))} is VALID [2022-04-08 14:02:43,741 INFO L290 TraceCheckUtils]: 30: Hoare triple {4323#(and (<= 0 main_~a~0) (not (= main_~a~0 0)) (<= 1 main_~b~0))} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {4323#(and (<= 0 main_~a~0) (not (= main_~a~0 0)) (<= 1 main_~b~0))} is VALID [2022-04-08 14:02:43,741 INFO L290 TraceCheckUtils]: 31: Hoare triple {4323#(and (<= 0 main_~a~0) (not (= main_~a~0 0)) (<= 1 main_~b~0))} assume !false; {4323#(and (<= 0 main_~a~0) (not (= main_~a~0 0)) (<= 1 main_~b~0))} is VALID [2022-04-08 14:02:43,742 INFO L272 TraceCheckUtils]: 32: Hoare triple {4323#(and (<= 0 main_~a~0) (not (= main_~a~0 0)) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {4226#true} is VALID [2022-04-08 14:02:43,742 INFO L290 TraceCheckUtils]: 33: Hoare triple {4226#true} ~cond := #in~cond; {4226#true} is VALID [2022-04-08 14:02:43,742 INFO L290 TraceCheckUtils]: 34: Hoare triple {4226#true} assume !(0 == ~cond); {4226#true} is VALID [2022-04-08 14:02:43,742 INFO L290 TraceCheckUtils]: 35: Hoare triple {4226#true} assume true; {4226#true} is VALID [2022-04-08 14:02:43,742 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {4226#true} {4323#(and (<= 0 main_~a~0) (not (= main_~a~0 0)) (<= 1 main_~b~0))} #77#return; {4323#(and (<= 0 main_~a~0) (not (= main_~a~0 0)) (<= 1 main_~b~0))} is VALID [2022-04-08 14:02:43,743 INFO L290 TraceCheckUtils]: 37: Hoare triple {4323#(and (<= 0 main_~a~0) (not (= main_~a~0 0)) (<= 1 main_~b~0))} assume !(0 != ~a~0 && 0 != ~b~0); {4227#false} is VALID [2022-04-08 14:02:43,743 INFO L272 TraceCheckUtils]: 38: Hoare triple {4227#false} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {4227#false} is VALID [2022-04-08 14:02:43,743 INFO L290 TraceCheckUtils]: 39: Hoare triple {4227#false} ~cond := #in~cond; {4227#false} is VALID [2022-04-08 14:02:43,743 INFO L290 TraceCheckUtils]: 40: Hoare triple {4227#false} assume 0 == ~cond; {4227#false} is VALID [2022-04-08 14:02:43,743 INFO L290 TraceCheckUtils]: 41: Hoare triple {4227#false} assume !false; {4227#false} is VALID [2022-04-08 14:02:43,743 INFO L134 CoverageAnalysis]: Checked inductivity of 23 backedges. 10 proven. 3 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-04-08 14:02:43,743 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 14:02:44,558 INFO L290 TraceCheckUtils]: 41: Hoare triple {4227#false} assume !false; {4227#false} is VALID [2022-04-08 14:02:44,558 INFO L290 TraceCheckUtils]: 40: Hoare triple {4227#false} assume 0 == ~cond; {4227#false} is VALID [2022-04-08 14:02:44,558 INFO L290 TraceCheckUtils]: 39: Hoare triple {4227#false} ~cond := #in~cond; {4227#false} is VALID [2022-04-08 14:02:44,558 INFO L272 TraceCheckUtils]: 38: Hoare triple {4227#false} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {4227#false} is VALID [2022-04-08 14:02:44,559 INFO L290 TraceCheckUtils]: 37: Hoare triple {4372#(and (not (= main_~b~0 0)) (not (= main_~a~0 0)))} assume !(0 != ~a~0 && 0 != ~b~0); {4227#false} is VALID [2022-04-08 14:02:44,560 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {4226#true} {4372#(and (not (= main_~b~0 0)) (not (= main_~a~0 0)))} #77#return; {4372#(and (not (= main_~b~0 0)) (not (= main_~a~0 0)))} is VALID [2022-04-08 14:02:44,560 INFO L290 TraceCheckUtils]: 35: Hoare triple {4226#true} assume true; {4226#true} is VALID [2022-04-08 14:02:44,560 INFO L290 TraceCheckUtils]: 34: Hoare triple {4226#true} assume !(0 == ~cond); {4226#true} is VALID [2022-04-08 14:02:44,560 INFO L290 TraceCheckUtils]: 33: Hoare triple {4226#true} ~cond := #in~cond; {4226#true} is VALID [2022-04-08 14:02:44,560 INFO L272 TraceCheckUtils]: 32: Hoare triple {4372#(and (not (= main_~b~0 0)) (not (= main_~a~0 0)))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {4226#true} is VALID [2022-04-08 14:02:44,561 INFO L290 TraceCheckUtils]: 31: Hoare triple {4372#(and (not (= main_~b~0 0)) (not (= main_~a~0 0)))} assume !false; {4372#(and (not (= main_~b~0 0)) (not (= main_~a~0 0)))} is VALID [2022-04-08 14:02:44,562 INFO L290 TraceCheckUtils]: 30: Hoare triple {4394#(or (not (= (mod main_~b~0 2) 0)) (not (= (mod main_~a~0 2) 0)) (and (not (<= (div main_~a~0 2) 0)) (not (= (div main_~b~0 2) 0))))} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {4372#(and (not (= main_~b~0 0)) (not (= main_~a~0 0)))} is VALID [2022-04-08 14:02:44,563 INFO L290 TraceCheckUtils]: 29: Hoare triple {4398#(or (not (= (mod main_~b~0 2) 0)) (= main_~a~0 0) (not (<= (div main_~a~0 2) 0)) (= main_~b~0 0) (not (= (mod main_~a~0 2) 0)))} assume !!(0 != ~a~0 && 0 != ~b~0); {4394#(or (not (= (mod main_~b~0 2) 0)) (not (= (mod main_~a~0 2) 0)) (and (not (<= (div main_~a~0 2) 0)) (not (= (div main_~b~0 2) 0))))} is VALID [2022-04-08 14:02:44,563 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4226#true} {4398#(or (not (= (mod main_~b~0 2) 0)) (= main_~a~0 0) (not (<= (div main_~a~0 2) 0)) (= main_~b~0 0) (not (= (mod main_~a~0 2) 0)))} #77#return; {4398#(or (not (= (mod main_~b~0 2) 0)) (= main_~a~0 0) (not (<= (div main_~a~0 2) 0)) (= main_~b~0 0) (not (= (mod main_~a~0 2) 0)))} is VALID [2022-04-08 14:02:44,564 INFO L290 TraceCheckUtils]: 27: Hoare triple {4226#true} assume true; {4226#true} is VALID [2022-04-08 14:02:44,564 INFO L290 TraceCheckUtils]: 26: Hoare triple {4226#true} assume !(0 == ~cond); {4226#true} is VALID [2022-04-08 14:02:44,564 INFO L290 TraceCheckUtils]: 25: Hoare triple {4226#true} ~cond := #in~cond; {4226#true} is VALID [2022-04-08 14:02:44,564 INFO L272 TraceCheckUtils]: 24: Hoare triple {4398#(or (not (= (mod main_~b~0 2) 0)) (= main_~a~0 0) (not (<= (div main_~a~0 2) 0)) (= main_~b~0 0) (not (= (mod main_~a~0 2) 0)))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {4226#true} is VALID [2022-04-08 14:02:44,565 INFO L290 TraceCheckUtils]: 23: Hoare triple {4398#(or (not (= (mod main_~b~0 2) 0)) (= main_~a~0 0) (not (<= (div main_~a~0 2) 0)) (= main_~b~0 0) (not (= (mod main_~a~0 2) 0)))} assume !false; {4398#(or (not (= (mod main_~b~0 2) 0)) (= main_~a~0 0) (not (<= (div main_~a~0 2) 0)) (= main_~b~0 0) (not (= (mod main_~a~0 2) 0)))} is VALID [2022-04-08 14:02:44,566 INFO L290 TraceCheckUtils]: 22: Hoare triple {4420#(<= 0 (+ (div (+ (- 1) main_~x~0) 2) 1))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {4398#(or (not (= (mod main_~b~0 2) 0)) (= main_~a~0 0) (not (<= (div main_~a~0 2) 0)) (= main_~b~0 0) (not (= (mod main_~a~0 2) 0)))} is VALID [2022-04-08 14:02:44,566 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4226#true} {4420#(<= 0 (+ (div (+ (- 1) main_~x~0) 2) 1))} #75#return; {4420#(<= 0 (+ (div (+ (- 1) main_~x~0) 2) 1))} is VALID [2022-04-08 14:02:44,566 INFO L290 TraceCheckUtils]: 20: Hoare triple {4226#true} assume true; {4226#true} is VALID [2022-04-08 14:02:44,567 INFO L290 TraceCheckUtils]: 19: Hoare triple {4226#true} assume !(0 == ~cond); {4226#true} is VALID [2022-04-08 14:02:44,567 INFO L290 TraceCheckUtils]: 18: Hoare triple {4226#true} ~cond := #in~cond; {4226#true} is VALID [2022-04-08 14:02:44,567 INFO L272 TraceCheckUtils]: 17: Hoare triple {4420#(<= 0 (+ (div (+ (- 1) main_~x~0) 2) 1))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4226#true} is VALID [2022-04-08 14:02:44,567 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4226#true} {4420#(<= 0 (+ (div (+ (- 1) main_~x~0) 2) 1))} #73#return; {4420#(<= 0 (+ (div (+ (- 1) main_~x~0) 2) 1))} is VALID [2022-04-08 14:02:44,567 INFO L290 TraceCheckUtils]: 15: Hoare triple {4226#true} assume true; {4226#true} is VALID [2022-04-08 14:02:44,568 INFO L290 TraceCheckUtils]: 14: Hoare triple {4226#true} assume !(0 == ~cond); {4226#true} is VALID [2022-04-08 14:02:44,568 INFO L290 TraceCheckUtils]: 13: Hoare triple {4226#true} ~cond := #in~cond; {4226#true} is VALID [2022-04-08 14:02:44,568 INFO L272 TraceCheckUtils]: 12: Hoare triple {4420#(<= 0 (+ (div (+ (- 1) main_~x~0) 2) 1))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {4226#true} is VALID [2022-04-08 14:02:44,568 INFO L290 TraceCheckUtils]: 11: Hoare triple {4420#(<= 0 (+ (div (+ (- 1) main_~x~0) 2) 1))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4420#(<= 0 (+ (div (+ (- 1) main_~x~0) 2) 1))} is VALID [2022-04-08 14:02:44,569 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4256#(not (= |assume_abort_if_not_#in~cond| 0))} {4226#true} #71#return; {4420#(<= 0 (+ (div (+ (- 1) main_~x~0) 2) 1))} is VALID [2022-04-08 14:02:44,569 INFO L290 TraceCheckUtils]: 9: Hoare triple {4256#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4256#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 14:02:44,570 INFO L290 TraceCheckUtils]: 8: Hoare triple {4466#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {4256#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 14:02:44,570 INFO L290 TraceCheckUtils]: 7: Hoare triple {4226#true} ~cond := #in~cond; {4466#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-08 14:02:44,570 INFO L272 TraceCheckUtils]: 6: Hoare triple {4226#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {4226#true} is VALID [2022-04-08 14:02:44,570 INFO L290 TraceCheckUtils]: 5: Hoare triple {4226#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {4226#true} is VALID [2022-04-08 14:02:44,571 INFO L272 TraceCheckUtils]: 4: Hoare triple {4226#true} call #t~ret6 := main(); {4226#true} is VALID [2022-04-08 14:02:44,571 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4226#true} {4226#true} #83#return; {4226#true} is VALID [2022-04-08 14:02:44,571 INFO L290 TraceCheckUtils]: 2: Hoare triple {4226#true} assume true; {4226#true} is VALID [2022-04-08 14:02:44,571 INFO L290 TraceCheckUtils]: 1: Hoare triple {4226#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {4226#true} is VALID [2022-04-08 14:02:44,571 INFO L272 TraceCheckUtils]: 0: Hoare triple {4226#true} call ULTIMATE.init(); {4226#true} is VALID [2022-04-08 14:02:44,571 INFO L134 CoverageAnalysis]: Checked inductivity of 23 backedges. 4 proven. 9 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-04-08 14:02:44,571 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 14:02:44,571 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1747935363] [2022-04-08 14:02:44,572 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 14:02:44,572 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1286470786] [2022-04-08 14:02:44,572 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1286470786] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 14:02:44,572 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 14:02:44,572 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 13 [2022-04-08 14:02:44,573 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 14:02:44,573 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [498236695] [2022-04-08 14:02:44,573 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [498236695] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 14:02:44,573 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 14:02:44,573 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 14:02:44,573 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1842287702] [2022-04-08 14:02:44,573 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 14:02:44,574 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) Word has length 42 [2022-04-08 14:02:44,574 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 14:02:44,574 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 14:02:44,597 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 36 edges. 36 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 14:02:44,597 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 14:02:44,597 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 14:02:44,598 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 14:02:44,598 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=122, Unknown=0, NotChecked=0, Total=156 [2022-04-08 14:02:44,598 INFO L87 Difference]: Start difference. First operand 63 states and 77 transitions. Second operand has 8 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 14:02:45,018 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:02:45,018 INFO L93 Difference]: Finished difference Result 82 states and 103 transitions. [2022-04-08 14:02:45,018 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-08 14:02:45,019 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) Word has length 42 [2022-04-08 14:02:45,019 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 14:02:45,019 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 14:02:45,020 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 57 transitions. [2022-04-08 14:02:45,020 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 14:02:45,021 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 57 transitions. [2022-04-08 14:02:45,022 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 57 transitions. [2022-04-08 14:02:45,075 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 14:02:45,076 INFO L225 Difference]: With dead ends: 82 [2022-04-08 14:02:45,076 INFO L226 Difference]: Without dead ends: 75 [2022-04-08 14:02:45,076 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 86 GetRequests, 71 SyntacticMatches, 1 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 26 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=57, Invalid=183, Unknown=0, NotChecked=0, Total=240 [2022-04-08 14:02:45,077 INFO L913 BasicCegarLoop]: 25 mSDtfsCounter, 21 mSDsluCounter, 96 mSDsCounter, 0 mSdLazyCounter, 104 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 23 SdHoareTripleChecker+Valid, 121 SdHoareTripleChecker+Invalid, 112 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 104 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 14:02:45,077 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [23 Valid, 121 Invalid, 112 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 104 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 14:02:45,077 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 75 states. [2022-04-08 14:02:45,187 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 75 to 73. [2022-04-08 14:02:45,187 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 14:02:45,187 INFO L82 GeneralOperation]: Start isEquivalent. First operand 75 states. Second operand has 73 states, 51 states have (on average 1.3137254901960784) internal successors, (67), 54 states have internal predecessors, (67), 14 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (12), 10 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-08 14:02:45,188 INFO L74 IsIncluded]: Start isIncluded. First operand 75 states. Second operand has 73 states, 51 states have (on average 1.3137254901960784) internal successors, (67), 54 states have internal predecessors, (67), 14 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (12), 10 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-08 14:02:45,188 INFO L87 Difference]: Start difference. First operand 75 states. Second operand has 73 states, 51 states have (on average 1.3137254901960784) internal successors, (67), 54 states have internal predecessors, (67), 14 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (12), 10 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-08 14:02:45,190 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:02:45,190 INFO L93 Difference]: Finished difference Result 75 states and 96 transitions. [2022-04-08 14:02:45,190 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 96 transitions. [2022-04-08 14:02:45,190 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 14:02:45,190 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 14:02:45,191 INFO L74 IsIncluded]: Start isIncluded. First operand has 73 states, 51 states have (on average 1.3137254901960784) internal successors, (67), 54 states have internal predecessors, (67), 14 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (12), 10 states have call predecessors, (12), 12 states have call successors, (12) Second operand 75 states. [2022-04-08 14:02:45,191 INFO L87 Difference]: Start difference. First operand has 73 states, 51 states have (on average 1.3137254901960784) internal successors, (67), 54 states have internal predecessors, (67), 14 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (12), 10 states have call predecessors, (12), 12 states have call successors, (12) Second operand 75 states. [2022-04-08 14:02:45,193 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:02:45,193 INFO L93 Difference]: Finished difference Result 75 states and 96 transitions. [2022-04-08 14:02:45,193 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 96 transitions. [2022-04-08 14:02:45,194 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 14:02:45,194 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 14:02:45,194 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 14:02:45,194 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 14:02:45,194 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 73 states, 51 states have (on average 1.3137254901960784) internal successors, (67), 54 states have internal predecessors, (67), 14 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (12), 10 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-08 14:02:45,196 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 73 states to 73 states and 93 transitions. [2022-04-08 14:02:45,196 INFO L78 Accepts]: Start accepts. Automaton has 73 states and 93 transitions. Word has length 42 [2022-04-08 14:02:45,196 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 14:02:45,196 INFO L478 AbstractCegarLoop]: Abstraction has 73 states and 93 transitions. [2022-04-08 14:02:45,197 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 14:02:45,197 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 73 states and 93 transitions. [2022-04-08 14:02:45,336 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 93 edges. 93 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 14:02:45,337 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 93 transitions. [2022-04-08 14:02:45,337 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-08 14:02:45,337 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 14:02:45,337 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 14:02:45,353 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Forceful destruction successful, exit code 0 [2022-04-08 14:02:45,537 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable8 [2022-04-08 14:02:45,538 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 14:02:45,538 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 14:02:45,538 INFO L85 PathProgramCache]: Analyzing trace with hash 1669465851, now seen corresponding path program 1 times [2022-04-08 14:02:45,538 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 14:02:45,538 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [582414261] [2022-04-08 14:02:45,538 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 14:02:45,539 INFO L85 PathProgramCache]: Analyzing trace with hash 1669465851, now seen corresponding path program 2 times [2022-04-08 14:02:45,539 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 14:02:45,539 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1373707797] [2022-04-08 14:02:45,539 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 14:02:45,539 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 14:02:45,550 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 14:02:45,550 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1950441994] [2022-04-08 14:02:45,550 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 14:02:45,550 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 14:02:45,550 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 14:02:45,551 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 14:02:45,564 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2022-04-08 14:02:45,593 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 14:02:45,593 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 14:02:45,595 INFO L263 TraceCheckSpWp]: Trace formula consists of 123 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-08 14:02:45,603 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 14:02:45,604 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 14:02:55,468 INFO L272 TraceCheckUtils]: 0: Hoare triple {4956#true} call ULTIMATE.init(); {4956#true} is VALID [2022-04-08 14:02:55,468 INFO L290 TraceCheckUtils]: 1: Hoare triple {4956#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {4956#true} is VALID [2022-04-08 14:02:55,468 INFO L290 TraceCheckUtils]: 2: Hoare triple {4956#true} assume true; {4956#true} is VALID [2022-04-08 14:02:55,468 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4956#true} {4956#true} #83#return; {4956#true} is VALID [2022-04-08 14:02:55,468 INFO L272 TraceCheckUtils]: 4: Hoare triple {4956#true} call #t~ret6 := main(); {4956#true} is VALID [2022-04-08 14:02:55,468 INFO L290 TraceCheckUtils]: 5: Hoare triple {4956#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {4956#true} is VALID [2022-04-08 14:02:55,468 INFO L272 TraceCheckUtils]: 6: Hoare triple {4956#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {4956#true} is VALID [2022-04-08 14:02:55,469 INFO L290 TraceCheckUtils]: 7: Hoare triple {4956#true} ~cond := #in~cond; {4956#true} is VALID [2022-04-08 14:02:55,469 INFO L290 TraceCheckUtils]: 8: Hoare triple {4956#true} assume !(0 == ~cond); {4956#true} is VALID [2022-04-08 14:02:55,469 INFO L290 TraceCheckUtils]: 9: Hoare triple {4956#true} assume true; {4956#true} is VALID [2022-04-08 14:02:55,469 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4956#true} {4956#true} #71#return; {4956#true} is VALID [2022-04-08 14:02:55,469 INFO L290 TraceCheckUtils]: 11: Hoare triple {4956#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4956#true} is VALID [2022-04-08 14:02:55,469 INFO L272 TraceCheckUtils]: 12: Hoare triple {4956#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {4956#true} is VALID [2022-04-08 14:02:55,469 INFO L290 TraceCheckUtils]: 13: Hoare triple {4956#true} ~cond := #in~cond; {4956#true} is VALID [2022-04-08 14:02:55,469 INFO L290 TraceCheckUtils]: 14: Hoare triple {4956#true} assume !(0 == ~cond); {4956#true} is VALID [2022-04-08 14:02:55,469 INFO L290 TraceCheckUtils]: 15: Hoare triple {4956#true} assume true; {4956#true} is VALID [2022-04-08 14:02:55,469 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4956#true} {4956#true} #73#return; {4956#true} is VALID [2022-04-08 14:02:55,469 INFO L272 TraceCheckUtils]: 17: Hoare triple {4956#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4956#true} is VALID [2022-04-08 14:02:55,469 INFO L290 TraceCheckUtils]: 18: Hoare triple {4956#true} ~cond := #in~cond; {4956#true} is VALID [2022-04-08 14:02:55,470 INFO L290 TraceCheckUtils]: 19: Hoare triple {4956#true} assume !(0 == ~cond); {4956#true} is VALID [2022-04-08 14:02:55,470 INFO L290 TraceCheckUtils]: 20: Hoare triple {4956#true} assume true; {4956#true} is VALID [2022-04-08 14:02:55,470 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4956#true} {4956#true} #75#return; {4956#true} is VALID [2022-04-08 14:02:55,470 INFO L290 TraceCheckUtils]: 22: Hoare triple {4956#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {4956#true} is VALID [2022-04-08 14:02:55,470 INFO L290 TraceCheckUtils]: 23: Hoare triple {4956#true} assume !false; {4956#true} is VALID [2022-04-08 14:02:55,470 INFO L272 TraceCheckUtils]: 24: Hoare triple {4956#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {4956#true} is VALID [2022-04-08 14:02:55,470 INFO L290 TraceCheckUtils]: 25: Hoare triple {4956#true} ~cond := #in~cond; {4956#true} is VALID [2022-04-08 14:02:55,470 INFO L290 TraceCheckUtils]: 26: Hoare triple {4956#true} assume !(0 == ~cond); {4956#true} is VALID [2022-04-08 14:02:55,471 INFO L290 TraceCheckUtils]: 27: Hoare triple {4956#true} assume true; {4956#true} is VALID [2022-04-08 14:02:55,471 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4956#true} {4956#true} #77#return; {4956#true} is VALID [2022-04-08 14:02:55,479 INFO L290 TraceCheckUtils]: 29: Hoare triple {4956#true} assume !!(0 != ~a~0 && 0 != ~b~0); {5048#(not (= main_~b~0 0))} is VALID [2022-04-08 14:02:55,479 INFO L290 TraceCheckUtils]: 30: Hoare triple {5048#(not (= main_~b~0 0))} assume !(0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2)); {5048#(not (= main_~b~0 0))} is VALID [2022-04-08 14:02:55,479 INFO L290 TraceCheckUtils]: 31: Hoare triple {5048#(not (= main_~b~0 0))} assume 1 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := ~a~0 - 1;~q~0 := ~q~0 + ~b~0 * ~p~0; {5048#(not (= main_~b~0 0))} is VALID [2022-04-08 14:02:55,480 INFO L290 TraceCheckUtils]: 32: Hoare triple {5048#(not (= main_~b~0 0))} assume !false; {5048#(not (= main_~b~0 0))} is VALID [2022-04-08 14:02:55,480 INFO L272 TraceCheckUtils]: 33: Hoare triple {5048#(not (= main_~b~0 0))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {4956#true} is VALID [2022-04-08 14:02:55,480 INFO L290 TraceCheckUtils]: 34: Hoare triple {4956#true} ~cond := #in~cond; {5064#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 14:02:55,481 INFO L290 TraceCheckUtils]: 35: Hoare triple {5064#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {5068#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 14:02:55,481 INFO L290 TraceCheckUtils]: 36: Hoare triple {5068#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5068#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 14:02:57,483 WARN L284 TraceCheckUtils]: 37: Hoare quadruple {5068#(not (= |__VERIFIER_assert_#in~cond| 0))} {5048#(not (= main_~b~0 0))} #77#return; {5075#(and (or (and (= (mod (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) (* main_~b~0 main_~a~0)) 0) (not (= main_~a~0 0))) (= (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) 0)) (not (= main_~b~0 0)))} is UNKNOWN [2022-04-08 14:02:57,484 INFO L290 TraceCheckUtils]: 38: Hoare triple {5075#(and (or (and (= (mod (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) (* main_~b~0 main_~a~0)) 0) (not (= main_~a~0 0))) (= (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) 0)) (not (= main_~b~0 0)))} assume !(0 != ~a~0 && 0 != ~b~0); {5079#(= main_~q~0 (* main_~y~0 main_~x~0))} is VALID [2022-04-08 14:02:57,485 INFO L272 TraceCheckUtils]: 39: Hoare triple {5079#(= main_~q~0 (* main_~y~0 main_~x~0))} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {5083#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 14:02:57,485 INFO L290 TraceCheckUtils]: 40: Hoare triple {5083#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5087#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 14:02:57,486 INFO L290 TraceCheckUtils]: 41: Hoare triple {5087#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4957#false} is VALID [2022-04-08 14:02:57,486 INFO L290 TraceCheckUtils]: 42: Hoare triple {4957#false} assume !false; {4957#false} is VALID [2022-04-08 14:02:57,486 INFO L134 CoverageAnalysis]: Checked inductivity of 23 backedges. 9 proven. 1 refuted. 0 times theorem prover too weak. 13 trivial. 0 not checked. [2022-04-08 14:02:57,486 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 14:03:22,364 INFO L290 TraceCheckUtils]: 42: Hoare triple {4957#false} assume !false; {4957#false} is VALID [2022-04-08 14:03:22,365 INFO L290 TraceCheckUtils]: 41: Hoare triple {5087#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4957#false} is VALID [2022-04-08 14:03:22,365 INFO L290 TraceCheckUtils]: 40: Hoare triple {5083#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5087#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 14:03:22,365 INFO L272 TraceCheckUtils]: 39: Hoare triple {5079#(= main_~q~0 (* main_~y~0 main_~x~0))} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {5083#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 14:03:22,366 INFO L290 TraceCheckUtils]: 38: Hoare triple {5106#(or (= main_~q~0 (* main_~y~0 main_~x~0)) (and (not (= main_~b~0 0)) (not (= main_~a~0 0))))} assume !(0 != ~a~0 && 0 != ~b~0); {5079#(= main_~q~0 (* main_~y~0 main_~x~0))} is VALID [2022-04-08 14:03:22,367 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {5068#(not (= |__VERIFIER_assert_#in~cond| 0))} {4956#true} #77#return; {5106#(or (= main_~q~0 (* main_~y~0 main_~x~0)) (and (not (= main_~b~0 0)) (not (= main_~a~0 0))))} is VALID [2022-04-08 14:03:22,367 INFO L290 TraceCheckUtils]: 36: Hoare triple {5068#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5068#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 14:03:22,368 INFO L290 TraceCheckUtils]: 35: Hoare triple {5119#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {5068#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 14:03:22,368 INFO L290 TraceCheckUtils]: 34: Hoare triple {4956#true} ~cond := #in~cond; {5119#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 14:03:22,368 INFO L272 TraceCheckUtils]: 33: Hoare triple {4956#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {4956#true} is VALID [2022-04-08 14:03:22,368 INFO L290 TraceCheckUtils]: 32: Hoare triple {4956#true} assume !false; {4956#true} is VALID [2022-04-08 14:03:22,368 INFO L290 TraceCheckUtils]: 31: Hoare triple {4956#true} assume 1 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := ~a~0 - 1;~q~0 := ~q~0 + ~b~0 * ~p~0; {4956#true} is VALID [2022-04-08 14:03:22,368 INFO L290 TraceCheckUtils]: 30: Hoare triple {4956#true} assume !(0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2)); {4956#true} is VALID [2022-04-08 14:03:22,368 INFO L290 TraceCheckUtils]: 29: Hoare triple {4956#true} assume !!(0 != ~a~0 && 0 != ~b~0); {4956#true} is VALID [2022-04-08 14:03:22,368 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4956#true} {4956#true} #77#return; {4956#true} is VALID [2022-04-08 14:03:22,369 INFO L290 TraceCheckUtils]: 27: Hoare triple {4956#true} assume true; {4956#true} is VALID [2022-04-08 14:03:22,369 INFO L290 TraceCheckUtils]: 26: Hoare triple {4956#true} assume !(0 == ~cond); {4956#true} is VALID [2022-04-08 14:03:22,369 INFO L290 TraceCheckUtils]: 25: Hoare triple {4956#true} ~cond := #in~cond; {4956#true} is VALID [2022-04-08 14:03:22,369 INFO L272 TraceCheckUtils]: 24: Hoare triple {4956#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {4956#true} is VALID [2022-04-08 14:03:22,369 INFO L290 TraceCheckUtils]: 23: Hoare triple {4956#true} assume !false; {4956#true} is VALID [2022-04-08 14:03:22,369 INFO L290 TraceCheckUtils]: 22: Hoare triple {4956#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {4956#true} is VALID [2022-04-08 14:03:22,369 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4956#true} {4956#true} #75#return; {4956#true} is VALID [2022-04-08 14:03:22,369 INFO L290 TraceCheckUtils]: 20: Hoare triple {4956#true} assume true; {4956#true} is VALID [2022-04-08 14:03:22,369 INFO L290 TraceCheckUtils]: 19: Hoare triple {4956#true} assume !(0 == ~cond); {4956#true} is VALID [2022-04-08 14:03:22,369 INFO L290 TraceCheckUtils]: 18: Hoare triple {4956#true} ~cond := #in~cond; {4956#true} is VALID [2022-04-08 14:03:22,369 INFO L272 TraceCheckUtils]: 17: Hoare triple {4956#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4956#true} is VALID [2022-04-08 14:03:22,369 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4956#true} {4956#true} #73#return; {4956#true} is VALID [2022-04-08 14:03:22,369 INFO L290 TraceCheckUtils]: 15: Hoare triple {4956#true} assume true; {4956#true} is VALID [2022-04-08 14:03:22,370 INFO L290 TraceCheckUtils]: 14: Hoare triple {4956#true} assume !(0 == ~cond); {4956#true} is VALID [2022-04-08 14:03:22,370 INFO L290 TraceCheckUtils]: 13: Hoare triple {4956#true} ~cond := #in~cond; {4956#true} is VALID [2022-04-08 14:03:22,370 INFO L272 TraceCheckUtils]: 12: Hoare triple {4956#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {4956#true} is VALID [2022-04-08 14:03:22,370 INFO L290 TraceCheckUtils]: 11: Hoare triple {4956#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4956#true} is VALID [2022-04-08 14:03:22,370 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4956#true} {4956#true} #71#return; {4956#true} is VALID [2022-04-08 14:03:22,370 INFO L290 TraceCheckUtils]: 9: Hoare triple {4956#true} assume true; {4956#true} is VALID [2022-04-08 14:03:22,370 INFO L290 TraceCheckUtils]: 8: Hoare triple {4956#true} assume !(0 == ~cond); {4956#true} is VALID [2022-04-08 14:03:22,370 INFO L290 TraceCheckUtils]: 7: Hoare triple {4956#true} ~cond := #in~cond; {4956#true} is VALID [2022-04-08 14:03:22,370 INFO L272 TraceCheckUtils]: 6: Hoare triple {4956#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {4956#true} is VALID [2022-04-08 14:03:22,370 INFO L290 TraceCheckUtils]: 5: Hoare triple {4956#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {4956#true} is VALID [2022-04-08 14:03:22,370 INFO L272 TraceCheckUtils]: 4: Hoare triple {4956#true} call #t~ret6 := main(); {4956#true} is VALID [2022-04-08 14:03:22,370 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4956#true} {4956#true} #83#return; {4956#true} is VALID [2022-04-08 14:03:22,370 INFO L290 TraceCheckUtils]: 2: Hoare triple {4956#true} assume true; {4956#true} is VALID [2022-04-08 14:03:22,370 INFO L290 TraceCheckUtils]: 1: Hoare triple {4956#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {4956#true} is VALID [2022-04-08 14:03:22,371 INFO L272 TraceCheckUtils]: 0: Hoare triple {4956#true} call ULTIMATE.init(); {4956#true} is VALID [2022-04-08 14:03:22,371 INFO L134 CoverageAnalysis]: Checked inductivity of 23 backedges. 7 proven. 1 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-08 14:03:22,371 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 14:03:22,371 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1373707797] [2022-04-08 14:03:22,371 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 14:03:22,371 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1950441994] [2022-04-08 14:03:22,371 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1950441994] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 14:03:22,371 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 14:03:22,371 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 8] total 11 [2022-04-08 14:03:22,371 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 14:03:22,372 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [582414261] [2022-04-08 14:03:22,372 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [582414261] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 14:03:22,372 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 14:03:22,372 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-08 14:03:22,372 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1127538416] [2022-04-08 14:03:22,372 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 14:03:22,372 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.875) internal successors, (23), 7 states have internal predecessors, (23), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 43 [2022-04-08 14:03:22,372 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 14:03:22,373 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 8 states have (on average 2.875) internal successors, (23), 7 states have internal predecessors, (23), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-08 14:03:24,399 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 36 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-08 14:03:24,399 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-08 14:03:24,399 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 14:03:24,400 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-08 14:03:24,400 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=84, Unknown=0, NotChecked=0, Total=110 [2022-04-08 14:03:24,400 INFO L87 Difference]: Start difference. First operand 73 states and 93 transitions. Second operand has 9 states, 8 states have (on average 2.875) internal successors, (23), 7 states have internal predecessors, (23), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-08 14:03:26,880 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 14:03:29,521 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:03:29,521 INFO L93 Difference]: Finished difference Result 86 states and 110 transitions. [2022-04-08 14:03:29,521 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-08 14:03:29,521 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.875) internal successors, (23), 7 states have internal predecessors, (23), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 43 [2022-04-08 14:03:29,523 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 14:03:29,523 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.875) internal successors, (23), 7 states have internal predecessors, (23), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-08 14:03:29,527 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 51 transitions. [2022-04-08 14:03:29,528 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.875) internal successors, (23), 7 states have internal predecessors, (23), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-08 14:03:29,529 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 51 transitions. [2022-04-08 14:03:29,530 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 51 transitions. [2022-04-08 14:03:31,575 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 50 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-08 14:03:31,576 INFO L225 Difference]: With dead ends: 86 [2022-04-08 14:03:31,576 INFO L226 Difference]: Without dead ends: 79 [2022-04-08 14:03:31,577 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 88 GetRequests, 75 SyntacticMatches, 1 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 17 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=45, Invalid=137, Unknown=0, NotChecked=0, Total=182 [2022-04-08 14:03:31,577 INFO L913 BasicCegarLoop]: 27 mSDtfsCounter, 15 mSDsluCounter, 126 mSDsCounter, 0 mSdLazyCounter, 152 mSolverCounterSat, 2 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 3.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 16 SdHoareTripleChecker+Valid, 153 SdHoareTripleChecker+Invalid, 155 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 152 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 3.4s IncrementalHoareTripleChecker+Time [2022-04-08 14:03:31,577 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [16 Valid, 153 Invalid, 155 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 152 Invalid, 1 Unknown, 0 Unchecked, 3.4s Time] [2022-04-08 14:03:31,578 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 79 states. [2022-04-08 14:03:31,684 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 79 to 68. [2022-04-08 14:03:31,685 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 14:03:31,685 INFO L82 GeneralOperation]: Start isEquivalent. First operand 79 states. Second operand has 68 states, 47 states have (on average 1.2553191489361701) internal successors, (59), 50 states have internal predecessors, (59), 13 states have call successors, (13), 8 states have call predecessors, (13), 7 states have return successors, (11), 9 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-08 14:03:31,685 INFO L74 IsIncluded]: Start isIncluded. First operand 79 states. Second operand has 68 states, 47 states have (on average 1.2553191489361701) internal successors, (59), 50 states have internal predecessors, (59), 13 states have call successors, (13), 8 states have call predecessors, (13), 7 states have return successors, (11), 9 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-08 14:03:31,685 INFO L87 Difference]: Start difference. First operand 79 states. Second operand has 68 states, 47 states have (on average 1.2553191489361701) internal successors, (59), 50 states have internal predecessors, (59), 13 states have call successors, (13), 8 states have call predecessors, (13), 7 states have return successors, (11), 9 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-08 14:03:31,687 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:03:31,687 INFO L93 Difference]: Finished difference Result 79 states and 101 transitions. [2022-04-08 14:03:31,687 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 101 transitions. [2022-04-08 14:03:31,688 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 14:03:31,688 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 14:03:31,688 INFO L74 IsIncluded]: Start isIncluded. First operand has 68 states, 47 states have (on average 1.2553191489361701) internal successors, (59), 50 states have internal predecessors, (59), 13 states have call successors, (13), 8 states have call predecessors, (13), 7 states have return successors, (11), 9 states have call predecessors, (11), 11 states have call successors, (11) Second operand 79 states. [2022-04-08 14:03:31,688 INFO L87 Difference]: Start difference. First operand has 68 states, 47 states have (on average 1.2553191489361701) internal successors, (59), 50 states have internal predecessors, (59), 13 states have call successors, (13), 8 states have call predecessors, (13), 7 states have return successors, (11), 9 states have call predecessors, (11), 11 states have call successors, (11) Second operand 79 states. [2022-04-08 14:03:31,690 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:03:31,690 INFO L93 Difference]: Finished difference Result 79 states and 101 transitions. [2022-04-08 14:03:31,690 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 101 transitions. [2022-04-08 14:03:31,691 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 14:03:31,691 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 14:03:31,691 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 14:03:31,691 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 14:03:31,691 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 68 states, 47 states have (on average 1.2553191489361701) internal successors, (59), 50 states have internal predecessors, (59), 13 states have call successors, (13), 8 states have call predecessors, (13), 7 states have return successors, (11), 9 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-08 14:03:31,693 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 68 states to 68 states and 83 transitions. [2022-04-08 14:03:31,693 INFO L78 Accepts]: Start accepts. Automaton has 68 states and 83 transitions. Word has length 43 [2022-04-08 14:03:31,693 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 14:03:31,693 INFO L478 AbstractCegarLoop]: Abstraction has 68 states and 83 transitions. [2022-04-08 14:03:31,693 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 8 states have (on average 2.875) internal successors, (23), 7 states have internal predecessors, (23), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-08 14:03:31,693 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 68 states and 83 transitions. [2022-04-08 14:03:33,834 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 82 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-08 14:03:33,835 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 83 transitions. [2022-04-08 14:03:33,835 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2022-04-08 14:03:33,835 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 14:03:33,835 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 14:03:33,851 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Forceful destruction successful, exit code 0 [2022-04-08 14:03:34,036 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2022-04-08 14:03:34,036 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 14:03:34,036 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 14:03:34,036 INFO L85 PathProgramCache]: Analyzing trace with hash 1139704970, now seen corresponding path program 3 times [2022-04-08 14:03:34,036 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 14:03:34,036 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [157206103] [2022-04-08 14:03:34,037 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 14:03:34,037 INFO L85 PathProgramCache]: Analyzing trace with hash 1139704970, now seen corresponding path program 4 times [2022-04-08 14:03:34,037 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 14:03:34,037 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [471502297] [2022-04-08 14:03:34,037 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 14:03:34,037 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 14:03:34,049 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 14:03:34,049 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1287989605] [2022-04-08 14:03:34,049 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 14:03:34,049 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 14:03:34,049 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 14:03:34,050 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 14:03:34,053 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2022-04-08 14:03:34,090 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 14:03:34,090 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 14:03:34,091 INFO L263 TraceCheckSpWp]: Trace formula consists of 97 conjuncts, 33 conjunts are in the unsatisfiable core [2022-04-08 14:03:34,105 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 14:03:34,106 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 14:13:52,520 INFO L272 TraceCheckUtils]: 0: Hoare triple {5696#true} call ULTIMATE.init(); {5696#true} is VALID [2022-04-08 14:13:52,520 INFO L290 TraceCheckUtils]: 1: Hoare triple {5696#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {5696#true} is VALID [2022-04-08 14:13:52,521 INFO L290 TraceCheckUtils]: 2: Hoare triple {5696#true} assume true; {5696#true} is VALID [2022-04-08 14:13:52,521 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5696#true} {5696#true} #83#return; {5696#true} is VALID [2022-04-08 14:13:52,521 INFO L272 TraceCheckUtils]: 4: Hoare triple {5696#true} call #t~ret6 := main(); {5696#true} is VALID [2022-04-08 14:13:52,521 INFO L290 TraceCheckUtils]: 5: Hoare triple {5696#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {5696#true} is VALID [2022-04-08 14:13:52,521 INFO L272 TraceCheckUtils]: 6: Hoare triple {5696#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {5696#true} is VALID [2022-04-08 14:13:52,521 INFO L290 TraceCheckUtils]: 7: Hoare triple {5696#true} ~cond := #in~cond; {5696#true} is VALID [2022-04-08 14:13:52,521 INFO L290 TraceCheckUtils]: 8: Hoare triple {5696#true} assume !(0 == ~cond); {5696#true} is VALID [2022-04-08 14:13:52,521 INFO L290 TraceCheckUtils]: 9: Hoare triple {5696#true} assume true; {5696#true} is VALID [2022-04-08 14:13:52,521 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5696#true} {5696#true} #71#return; {5696#true} is VALID [2022-04-08 14:13:52,521 INFO L290 TraceCheckUtils]: 11: Hoare triple {5696#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {5696#true} is VALID [2022-04-08 14:13:52,521 INFO L272 TraceCheckUtils]: 12: Hoare triple {5696#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {5696#true} is VALID [2022-04-08 14:13:52,521 INFO L290 TraceCheckUtils]: 13: Hoare triple {5696#true} ~cond := #in~cond; {5696#true} is VALID [2022-04-08 14:13:52,521 INFO L290 TraceCheckUtils]: 14: Hoare triple {5696#true} assume !(0 == ~cond); {5696#true} is VALID [2022-04-08 14:13:52,522 INFO L290 TraceCheckUtils]: 15: Hoare triple {5696#true} assume true; {5696#true} is VALID [2022-04-08 14:13:52,522 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5696#true} {5696#true} #73#return; {5696#true} is VALID [2022-04-08 14:13:52,522 INFO L272 TraceCheckUtils]: 17: Hoare triple {5696#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {5696#true} is VALID [2022-04-08 14:13:52,522 INFO L290 TraceCheckUtils]: 18: Hoare triple {5696#true} ~cond := #in~cond; {5755#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 14:13:52,522 INFO L290 TraceCheckUtils]: 19: Hoare triple {5755#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {5759#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 14:13:52,523 INFO L290 TraceCheckUtils]: 20: Hoare triple {5759#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {5759#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 14:13:52,523 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5759#(not (= |assume_abort_if_not_#in~cond| 0))} {5696#true} #75#return; {5766#(<= 1 main_~y~0)} is VALID [2022-04-08 14:13:52,523 INFO L290 TraceCheckUtils]: 22: Hoare triple {5766#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {5770#(and (= main_~b~0 main_~y~0) (<= 1 main_~y~0))} is VALID [2022-04-08 14:13:52,524 INFO L290 TraceCheckUtils]: 23: Hoare triple {5770#(and (= main_~b~0 main_~y~0) (<= 1 main_~y~0))} assume !false; {5770#(and (= main_~b~0 main_~y~0) (<= 1 main_~y~0))} is VALID [2022-04-08 14:13:52,524 INFO L272 TraceCheckUtils]: 24: Hoare triple {5770#(and (= main_~b~0 main_~y~0) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {5696#true} is VALID [2022-04-08 14:13:52,524 INFO L290 TraceCheckUtils]: 25: Hoare triple {5696#true} ~cond := #in~cond; {5696#true} is VALID [2022-04-08 14:13:52,524 INFO L290 TraceCheckUtils]: 26: Hoare triple {5696#true} assume !(0 == ~cond); {5696#true} is VALID [2022-04-08 14:13:52,524 INFO L290 TraceCheckUtils]: 27: Hoare triple {5696#true} assume true; {5696#true} is VALID [2022-04-08 14:13:52,525 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5696#true} {5770#(and (= main_~b~0 main_~y~0) (<= 1 main_~y~0))} #77#return; {5770#(and (= main_~b~0 main_~y~0) (<= 1 main_~y~0))} is VALID [2022-04-08 14:13:52,525 INFO L290 TraceCheckUtils]: 29: Hoare triple {5770#(and (= main_~b~0 main_~y~0) (<= 1 main_~y~0))} assume !!(0 != ~a~0 && 0 != ~b~0); {5770#(and (= main_~b~0 main_~y~0) (<= 1 main_~y~0))} is VALID [2022-04-08 14:13:52,526 INFO L290 TraceCheckUtils]: 30: Hoare triple {5770#(and (= main_~b~0 main_~y~0) (<= 1 main_~y~0))} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {5795#(and (= (div main_~y~0 2) main_~b~0) (= (mod (* main_~p~0 3) 4) 0) (<= (mod main_~y~0 2) 0) (<= 1 main_~y~0))} is VALID [2022-04-08 14:13:52,527 INFO L290 TraceCheckUtils]: 31: Hoare triple {5795#(and (= (div main_~y~0 2) main_~b~0) (= (mod (* main_~p~0 3) 4) 0) (<= (mod main_~y~0 2) 0) (<= 1 main_~y~0))} assume !false; {5795#(and (= (div main_~y~0 2) main_~b~0) (= (mod (* main_~p~0 3) 4) 0) (<= (mod main_~y~0 2) 0) (<= 1 main_~y~0))} is VALID [2022-04-08 14:13:52,527 INFO L272 TraceCheckUtils]: 32: Hoare triple {5795#(and (= (div main_~y~0 2) main_~b~0) (= (mod (* main_~p~0 3) 4) 0) (<= (mod main_~y~0 2) 0) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {5696#true} is VALID [2022-04-08 14:13:52,527 INFO L290 TraceCheckUtils]: 33: Hoare triple {5696#true} ~cond := #in~cond; {5805#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 14:13:52,527 INFO L290 TraceCheckUtils]: 34: Hoare triple {5805#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {5809#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 14:13:52,528 INFO L290 TraceCheckUtils]: 35: Hoare triple {5809#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5809#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 14:13:52,528 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {5809#(not (= |__VERIFIER_assert_#in~cond| 0))} {5795#(and (= (div main_~y~0 2) main_~b~0) (= (mod (* main_~p~0 3) 4) 0) (<= (mod main_~y~0 2) 0) (<= 1 main_~y~0))} #77#return; {5816#(and (= (div main_~y~0 2) main_~b~0) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0)) (= (mod (* main_~p~0 3) 4) 0) (<= (mod main_~y~0 2) 0) (<= 1 main_~y~0))} is VALID [2022-04-08 14:13:52,529 INFO L290 TraceCheckUtils]: 37: Hoare triple {5816#(and (= (div main_~y~0 2) main_~b~0) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0)) (= (mod (* main_~p~0 3) 4) 0) (<= (mod main_~y~0 2) 0) (<= 1 main_~y~0))} assume !!(0 != ~a~0 && 0 != ~b~0); {5816#(and (= (div main_~y~0 2) main_~b~0) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0)) (= (mod (* main_~p~0 3) 4) 0) (<= (mod main_~y~0 2) 0) (<= 1 main_~y~0))} is VALID [2022-04-08 14:13:54,530 WARN L290 TraceCheckUtils]: 38: Hoare triple {5816#(and (= (div main_~y~0 2) main_~b~0) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0)) (= (mod (* main_~p~0 3) 4) 0) (<= (mod main_~y~0 2) 0) (<= 1 main_~y~0))} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {5823#(and (<= (mod (div main_~y~0 2) 2) 0) (= (+ (* (* (div main_~y~0 2) main_~a~0 (div (* (- 1) main_~p~0) (- 4))) 2) main_~q~0 (* (div main_~y~0 2) 0 (div (* (- 1) main_~p~0) (- 4)))) (* main_~y~0 main_~x~0)) (= (mod (* main_~p~0 3) 4) 0) (<= (mod main_~y~0 2) 0) (= (mod (* 3 (div (- main_~p~0) (- 4))) 4) 0) (= main_~b~0 (div (div main_~y~0 2) 2)) (<= 1 main_~y~0))} is UNKNOWN [2022-04-08 14:13:54,531 INFO L290 TraceCheckUtils]: 39: Hoare triple {5823#(and (<= (mod (div main_~y~0 2) 2) 0) (= (+ (* (* (div main_~y~0 2) main_~a~0 (div (* (- 1) main_~p~0) (- 4))) 2) main_~q~0 (* (div main_~y~0 2) 0 (div (* (- 1) main_~p~0) (- 4)))) (* main_~y~0 main_~x~0)) (= (mod (* main_~p~0 3) 4) 0) (<= (mod main_~y~0 2) 0) (= (mod (* 3 (div (- main_~p~0) (- 4))) 4) 0) (= main_~b~0 (div (div main_~y~0 2) 2)) (<= 1 main_~y~0))} assume !false; {5823#(and (<= (mod (div main_~y~0 2) 2) 0) (= (+ (* (* (div main_~y~0 2) main_~a~0 (div (* (- 1) main_~p~0) (- 4))) 2) main_~q~0 (* (div main_~y~0 2) 0 (div (* (- 1) main_~p~0) (- 4)))) (* main_~y~0 main_~x~0)) (= (mod (* main_~p~0 3) 4) 0) (<= (mod main_~y~0 2) 0) (= (mod (* 3 (div (- main_~p~0) (- 4))) 4) 0) (= main_~b~0 (div (div main_~y~0 2) 2)) (<= 1 main_~y~0))} is VALID [2022-04-08 14:13:54,604 INFO L272 TraceCheckUtils]: 40: Hoare triple {5823#(and (<= (mod (div main_~y~0 2) 2) 0) (= (+ (* (* (div main_~y~0 2) main_~a~0 (div (* (- 1) main_~p~0) (- 4))) 2) main_~q~0 (* (div main_~y~0 2) 0 (div (* (- 1) main_~p~0) (- 4)))) (* main_~y~0 main_~x~0)) (= (mod (* main_~p~0 3) 4) 0) (<= (mod main_~y~0 2) 0) (= (mod (* 3 (div (- main_~p~0) (- 4))) 4) 0) (= main_~b~0 (div (div main_~y~0 2) 2)) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {5830#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 14:13:54,605 INFO L290 TraceCheckUtils]: 41: Hoare triple {5830#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5834#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 14:13:54,605 INFO L290 TraceCheckUtils]: 42: Hoare triple {5834#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5697#false} is VALID [2022-04-08 14:13:54,605 INFO L290 TraceCheckUtils]: 43: Hoare triple {5697#false} assume !false; {5697#false} is VALID [2022-04-08 14:13:54,606 INFO L134 CoverageAnalysis]: Checked inductivity of 28 backedges. 12 proven. 9 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2022-04-08 14:13:54,606 INFO L328 TraceCheckSpWp]: Computing backward predicates...