Expanding a square

Time bar (total: 3.8s)

start0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated

analyze0.0ms (0%)

Memory
0.5MiB live, 0.4MiB allocated
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%100%0%0%0%0%0
100%100%0%0%0%0%0%1
Compiler

Compiled 11 to 7 computations (36.4% saved)

sample656.0ms (17.3%)

Memory
27.6MiB live, 613.7MiB allocated
Samples
230.0ms3 172×1valid
213.0ms5 080×0valid
0.0ms2valid
Precisions
Click to see histograms. Total time spent on operations: 246.0ms
ival-mult: 73.0ms (29.7% of total)
ival-add: 64.0ms (26% of total)
ival-sub: 54.0ms (22% of total)
adjust: 42.0ms (17.1% of total)
ival-true: 5.0ms (2% of total)
exact: 4.0ms (1.6% of total)
ival-assert: 3.0ms (1.2% of total)
Bogosity

explain111.0ms (2.9%)

Memory
-14.9MiB live, 75.8MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
1100-0-(-.f64 (*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64))) #s(literal 1 binary64))
00-0-(+.f64 x #s(literal 1 binary64))
00-0-(*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64)))
00-0-#s(literal 1 binary64)
00-0-x
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
-.f64(-.f64 (*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64))) #s(literal 1 binary64))cancellation1100
Confusion
Predicted +Predicted -
+1101
-0145
Precision
1.0
Recall
0.990990990990991
Confusion?
Predicted +Predicted MaybePredicted -
+11001
-00145
Precision?
1.0
Recall?
0.990990990990991
Freqs
test
numberfreq
0146
1110
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
18.0ms360×0valid
12.0ms152×1valid
Compiler

Compiled 76 to 24 computations (68.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 18.0ms
ival-add: 7.0ms (39.6% of total)
ival-mult: 4.0ms (22.7% of total)
ival-sub: 3.0ms (17% of total)
adjust: 2.0ms (11.3% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

preprocess440.0ms (11.6%)

Memory
-2.2MiB live, 189.2MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0723
12619
28813
332810
4136110
5361010
6490710
7563410
8597210
9605310
10606310
11640710
12657510
13659610
14682710
15684110
16692310
17700310
18704010
19704010
20704010
21704410
22704410
059
089
1237
2525
31155
44875
516675
641465
759495
872925
081685
Stop Event
iter limit
node limit
iter limit
node limit
Calls
Call 1
Inputs
(-.f64 (*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64))) #s(literal 1 binary64))
Outputs
(-.f64 (*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64))) #s(literal 1 binary64))
(*.f64 (-.f64 x #s(literal -2 binary64)) x)
Compiler

Compiled 9 to 5 computations (44.4% saved)

eval0.0ms (0%)

Memory
0.3MiB live, 0.3MiB allocated
Compiler

Compiled 0 to 1 computations (-∞% saved)

prune0.0ms (0%)

Memory
1.0MiB live, 1.0MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
59.8%
(-.f64 (*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64))) #s(literal 1 binary64))
Compiler

Compiled 9 to 5 computations (44.4% saved)

simplify138.0ms (3.6%)

Memory
20.6MiB live, 147.0MiB allocated
Algorithm
egg-herbie
Localize:

Found 3 expressions of interest:

NewMetricScoreProgram
cost-diff0
(+.f64 x #s(literal 1 binary64))
cost-diff128
(*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64)))
cost-diff256
(-.f64 (*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64))) #s(literal 1 binary64))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0521
0821
12319
25217
311517
448717
5166717
6414617
7594917
8729217
0816816
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(-.f64 (*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64))) #s(literal 1 binary64))
(*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64)))
(+.f64 x #s(literal 1 binary64))
x
#s(literal 1 binary64)
Outputs
(-.f64 (*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64))) #s(literal 1 binary64))
(*.f64 (-.f64 x #s(literal -2 binary64)) x)
(*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64)))
(fma.f64 (-.f64 x #s(literal -2 binary64)) x #s(literal 1 binary64))
(+.f64 x #s(literal 1 binary64))
(-.f64 x #s(literal -1 binary64))
x
#s(literal 1 binary64)

localize20.0ms (0.5%)

Memory
-11.2MiB live, 18.1MiB allocated
Localize:

Found 3 expressions of interest:

NewMetricScoreProgram
accuracy0
(+.f64 x #s(literal 1 binary64))
accuracy0.0078125
(*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64)))
accuracy25.72112660695824
(-.f64 (*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64))) #s(literal 1 binary64))
Samples
9.0ms76×1valid
7.0ms180×0valid
Compiler

Compiled 44 to 12 computations (72.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 10.0ms
ival-add: 5.0ms (52.5% of total)
ival-mult: 2.0ms (21% of total)
adjust: 1.0ms (10.5% of total)
ival-sub: 1.0ms (10.5% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series2.0ms (0.1%)

Memory
2.5MiB live, 2.5MiB allocated
Counts
3 → 36
Calls
Call 1
Inputs
#s(alt (-.f64 (*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64))) #s(literal 1 binary64)) (patch (-.f64 (*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64))) #s(literal 1 binary64)) #<representation binary64>) () ())
#s(alt (*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64))) (patch (*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64))) #<representation binary64>) () ())
#s(alt (+.f64 x #s(literal 1 binary64)) (patch (+.f64 x #s(literal 1 binary64)) #<representation binary64>) () ())
Outputs
#s(alt (* 2 x) (taylor 0 x) (#s(alt (-.f64 (*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64))) #s(literal 1 binary64)) (patch (-.f64 (*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64))) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 2 x)) (taylor 0 x) (#s(alt (-.f64 (*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64))) #s(literal 1 binary64)) (patch (-.f64 (*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64))) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 2 x)) (taylor 0 x) (#s(alt (-.f64 (*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64))) #s(literal 1 binary64)) (patch (-.f64 (*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64))) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 2 x)) (taylor 0 x) (#s(alt (-.f64 (*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64))) #s(literal 1 binary64)) (patch (-.f64 (*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64))) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt 1 (taylor 0 x) (#s(alt (*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64))) (patch (*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ 1 (* 2 x)) (taylor 0 x) (#s(alt (*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64))) (patch (*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ 1 (* x (+ 2 x))) (taylor 0 x) (#s(alt (*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64))) (patch (*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ 1 (* x (+ 2 x))) (taylor 0 x) (#s(alt (*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64))) (patch (*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt 1 (taylor 0 x) (#s(alt (+.f64 x #s(literal 1 binary64)) (patch (+.f64 x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1 x) (taylor 0 x) (#s(alt (+.f64 x #s(literal 1 binary64)) (patch (+.f64 x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1 x) (taylor 0 x) (#s(alt (+.f64 x #s(literal 1 binary64)) (patch (+.f64 x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1 x) (taylor 0 x) (#s(alt (+.f64 x #s(literal 1 binary64)) (patch (+.f64 x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt (-.f64 (*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64))) #s(literal 1 binary64)) (patch (-.f64 (*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64))) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (* 2 (/ 1 x)))) (taylor inf x) (#s(alt (-.f64 (*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64))) #s(literal 1 binary64)) (patch (-.f64 (*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64))) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (* 2 (/ 1 x)))) (taylor inf x) (#s(alt (-.f64 (*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64))) #s(literal 1 binary64)) (patch (-.f64 (*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64))) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (* 2 (/ 1 x)))) (taylor inf x) (#s(alt (-.f64 (*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64))) #s(literal 1 binary64)) (patch (-.f64 (*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64))) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt (*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64))) (patch (*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (* 2 (/ 1 x)))) (taylor inf x) (#s(alt (*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64))) (patch (*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (+ (* 2 (/ 1 x)) (/ 1 (pow x 2))))) (taylor inf x) (#s(alt (*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64))) (patch (*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (+ (* 2 (/ 1 x)) (/ 1 (pow x 2))))) (taylor inf x) (#s(alt (*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64))) (patch (*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt x (taylor inf x) (#s(alt (+.f64 x #s(literal 1 binary64)) (patch (+.f64 x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (/ 1 x))) (taylor inf x) (#s(alt (+.f64 x #s(literal 1 binary64)) (patch (+.f64 x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (/ 1 x))) (taylor inf x) (#s(alt (+.f64 x #s(literal 1 binary64)) (patch (+.f64 x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (/ 1 x))) (taylor inf x) (#s(alt (+.f64 x #s(literal 1 binary64)) (patch (+.f64 x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor -inf x) (#s(alt (-.f64 (*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64))) #s(literal 1 binary64)) (patch (-.f64 (*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64))) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (* 2 (/ 1 x)))) (taylor -inf x) (#s(alt (-.f64 (*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64))) #s(literal 1 binary64)) (patch (-.f64 (*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64))) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (* 2 (/ 1 x)))) (taylor -inf x) (#s(alt (-.f64 (*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64))) #s(literal 1 binary64)) (patch (-.f64 (*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64))) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (* 2 (/ 1 x)))) (taylor -inf x) (#s(alt (-.f64 (*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64))) #s(literal 1 binary64)) (patch (-.f64 (*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64))) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor -inf x) (#s(alt (*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64))) (patch (*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (* 2 (/ 1 x)))) (taylor -inf x) (#s(alt (*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64))) (patch (*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (+ (* 2 (/ 1 x)) (/ 1 (pow x 2))))) (taylor -inf x) (#s(alt (*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64))) (patch (*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (+ (* 2 (/ 1 x)) (/ 1 (pow x 2))))) (taylor -inf x) (#s(alt (*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64))) (patch (*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt x (taylor -inf x) (#s(alt (+.f64 x #s(literal 1 binary64)) (patch (+.f64 x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (/ 1 x))) (taylor -inf x) (#s(alt (+.f64 x #s(literal 1 binary64)) (patch (+.f64 x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (/ 1 x))) (taylor -inf x) (#s(alt (+.f64 x #s(literal 1 binary64)) (patch (+.f64 x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (/ 1 x))) (taylor -inf x) (#s(alt (+.f64 x #s(literal 1 binary64)) (patch (+.f64 x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
Calls

3 calls:

TimeVariablePointExpression
0.0ms
x
@-inf
((- (* (+ x 1) (+ x 1)) 1) (* (+ x 1) (+ x 1)) (+ x 1))
0.0ms
x
@0
((- (* (+ x 1) (+ x 1)) 1) (* (+ x 1) (+ x 1)) (+ x 1))
0.0ms
x
@inf
((- (* (+ x 1) (+ x 1)) 1) (* (+ x 1) (+ x 1)) (+ x 1))

simplify449.0ms (11.8%)

Memory
-5.4MiB live, 157.1MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
020148
158148
2115148
3290148
4561148
52376148
63744148
74603148
85228148
96074148
106411148
116675148
08086141
Stop Event
iter limit
node limit
Counts
36 → 34
Calls
Call 1
Inputs
(* 2 x)
(* x (+ 2 x))
(* x (+ 2 x))
(* x (+ 2 x))
1
(+ 1 (* 2 x))
(+ 1 (* x (+ 2 x)))
(+ 1 (* x (+ 2 x)))
1
(+ 1 x)
(+ 1 x)
(+ 1 x)
(pow x 2)
(* (pow x 2) (+ 1 (* 2 (/ 1 x))))
(* (pow x 2) (+ 1 (* 2 (/ 1 x))))
(* (pow x 2) (+ 1 (* 2 (/ 1 x))))
(pow x 2)
(* (pow x 2) (+ 1 (* 2 (/ 1 x))))
(* (pow x 2) (+ 1 (+ (* 2 (/ 1 x)) (/ 1 (pow x 2)))))
(* (pow x 2) (+ 1 (+ (* 2 (/ 1 x)) (/ 1 (pow x 2)))))
x
(* x (+ 1 (/ 1 x)))
(* x (+ 1 (/ 1 x)))
(* x (+ 1 (/ 1 x)))
(pow x 2)
(* (pow x 2) (+ 1 (* 2 (/ 1 x))))
(* (pow x 2) (+ 1 (* 2 (/ 1 x))))
(* (pow x 2) (+ 1 (* 2 (/ 1 x))))
(pow x 2)
(* (pow x 2) (+ 1 (* 2 (/ 1 x))))
(* (pow x 2) (+ 1 (+ (* 2 (/ 1 x)) (/ 1 (pow x 2)))))
(* (pow x 2) (+ 1 (+ (* 2 (/ 1 x)) (/ 1 (pow x 2)))))
x
(* x (+ 1 (/ 1 x)))
(* x (+ 1 (/ 1 x)))
(* x (+ 1 (/ 1 x)))
Outputs
(* 2 x)
(*.f64 x #s(literal 2 binary64))
(* x (+ 2 x))
(*.f64 (+.f64 x #s(literal 2 binary64)) x)
(* x (+ 2 x))
(*.f64 (+.f64 x #s(literal 2 binary64)) x)
(* x (+ 2 x))
(*.f64 (+.f64 x #s(literal 2 binary64)) x)
1
#s(literal 1 binary64)
(+ 1 (* 2 x))
(fma.f64 x #s(literal 2 binary64) #s(literal 1 binary64))
(+ 1 (* x (+ 2 x)))
(fma.f64 (+.f64 x #s(literal 2 binary64)) x #s(literal 1 binary64))
(+ 1 (* x (+ 2 x)))
(fma.f64 (+.f64 x #s(literal 2 binary64)) x #s(literal 1 binary64))
1
#s(literal 1 binary64)
(+ 1 x)
(+.f64 #s(literal 1 binary64) x)
(+ 1 x)
(+.f64 #s(literal 1 binary64) x)
(+ 1 x)
(+.f64 #s(literal 1 binary64) x)
(pow x 2)
(*.f64 x x)
(* (pow x 2) (+ 1 (* 2 (/ 1 x))))
(*.f64 (+.f64 x #s(literal 2 binary64)) x)
(* (pow x 2) (+ 1 (* 2 (/ 1 x))))
(*.f64 (+.f64 x #s(literal 2 binary64)) x)
(* (pow x 2) (+ 1 (* 2 (/ 1 x))))
(*.f64 (+.f64 x #s(literal 2 binary64)) x)
(pow x 2)
(*.f64 x x)
(* (pow x 2) (+ 1 (* 2 (/ 1 x))))
(*.f64 (+.f64 x #s(literal 2 binary64)) x)
(* (pow x 2) (+ 1 (+ (* 2 (/ 1 x)) (/ 1 (pow x 2)))))
(fma.f64 (+.f64 x #s(literal 2 binary64)) x #s(literal 1 binary64))
(* (pow x 2) (+ 1 (+ (* 2 (/ 1 x)) (/ 1 (pow x 2)))))
(fma.f64 (+.f64 x #s(literal 2 binary64)) x #s(literal 1 binary64))
x
(* x (+ 1 (/ 1 x)))
(+.f64 #s(literal 1 binary64) x)
(* x (+ 1 (/ 1 x)))
(+.f64 #s(literal 1 binary64) x)
(* x (+ 1 (/ 1 x)))
(+.f64 #s(literal 1 binary64) x)
(pow x 2)
(*.f64 x x)
(* (pow x 2) (+ 1 (* 2 (/ 1 x))))
(*.f64 (+.f64 x #s(literal 2 binary64)) x)
(* (pow x 2) (+ 1 (* 2 (/ 1 x))))
(*.f64 (+.f64 x #s(literal 2 binary64)) x)
(* (pow x 2) (+ 1 (* 2 (/ 1 x))))
(*.f64 (+.f64 x #s(literal 2 binary64)) x)
(pow x 2)
(*.f64 x x)
(* (pow x 2) (+ 1 (* 2 (/ 1 x))))
(*.f64 (+.f64 x #s(literal 2 binary64)) x)
(* (pow x 2) (+ 1 (+ (* 2 (/ 1 x)) (/ 1 (pow x 2)))))
(fma.f64 (+.f64 x #s(literal 2 binary64)) x #s(literal 1 binary64))
(* (pow x 2) (+ 1 (+ (* 2 (/ 1 x)) (/ 1 (pow x 2)))))
(fma.f64 (+.f64 x #s(literal 2 binary64)) x #s(literal 1 binary64))
x
(* x (+ 1 (/ 1 x)))
(+.f64 #s(literal 1 binary64) x)
(* x (+ 1 (/ 1 x)))
(+.f64 #s(literal 1 binary64) x)
(* x (+ 1 (/ 1 x)))
(+.f64 #s(literal 1 binary64) x)

rewrite155.0ms (4.1%)

Memory
14.5MiB live, 109.1MiB allocated
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0519
0815
14815
237913
3633413
0823713
Stop Event
iter limit
node limit
iter limit
Counts
3 → 600
Calls
Call 1
Inputs
(-.f64 (*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64))) #s(literal 1 binary64))
(*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64)))
(+.f64 x #s(literal 1 binary64))
Outputs
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval88.0ms (2.3%)

Memory
1.1MiB live, 101.2MiB allocated
Compiler

Compiled 14 600 to 1 684 computations (88.5% saved)

prune11.0ms (0.3%)

Memory
0.7MiB live, 30.1MiB allocated
Pruning

4 alts after pruning (4 fresh and 0 done)

PrunedKeptTotal
New7244728
Fresh000
Picked101
Done000
Total7254729
Accuracy
100.0%
Counts
729 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
3.3%
(-.f64 #s(approx (* (+ x 1) (+ x 1)) #s(literal 1 binary64)) #s(literal 1 binary64))
100.0%
(*.f64 (+.f64 #s(literal 2 binary64) x) x)
58.4%
#s(approx (- (* (+ x 1) (+ x 1)) 1) (*.f64 x x))
44.5%
#s(approx (- (* (+ x 1) (+ x 1)) 1) (*.f64 x #s(literal 2 binary64)))
Compiler

Compiled 17 to 15 computations (11.8% saved)

simplify303.0ms (8%)

Memory
-25.8MiB live, 43.9MiB allocated
Algorithm
egg-herbie
Localize:

Found 8 expressions of interest:

NewMetricScoreProgram
cost-diff0
#s(approx (* (+ x 1) (+ x 1)) #s(literal 1 binary64))
cost-diff0
(-.f64 #s(approx (* (+ x 1) (+ x 1)) #s(literal 1 binary64)) #s(literal 1 binary64))
cost-diff0
(+.f64 #s(literal 2 binary64) x)
cost-diff0
(*.f64 (+.f64 #s(literal 2 binary64) x) x)
cost-diff0
(*.f64 x x)
cost-diff0
#s(approx (- (* (+ x 1) (+ x 1)) 1) (*.f64 x x))
cost-diff0
(*.f64 x #s(literal 2 binary64))
cost-diff0
#s(approx (- (* (+ x 1) (+ x 1)) 1) (*.f64 x #s(literal 2 binary64)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01466
01966
13862
26858
312558
450058
5167958
6415758
7599958
8735158
0813156
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
#s(approx (- (* (+ x 1) (+ x 1)) 1) (*.f64 x #s(literal 2 binary64)))
(*.f64 x #s(literal 2 binary64))
x
#s(literal 2 binary64)
#s(approx (- (* (+ x 1) (+ x 1)) 1) (*.f64 x x))
(*.f64 x x)
x
(*.f64 (+.f64 #s(literal 2 binary64) x) x)
(+.f64 #s(literal 2 binary64) x)
#s(literal 2 binary64)
x
(-.f64 #s(approx (* (+ x 1) (+ x 1)) #s(literal 1 binary64)) #s(literal 1 binary64))
#s(approx (* (+ x 1) (+ x 1)) #s(literal 1 binary64))
#s(literal 1 binary64)
Outputs
#s(approx (- (* (+ x 1) (+ x 1)) 1) (*.f64 x #s(literal 2 binary64)))
#s(approx (- (* (+ x 1) (+ x 1)) 1) (*.f64 #s(literal 2 binary64) x))
(*.f64 x #s(literal 2 binary64))
(*.f64 #s(literal 2 binary64) x)
x
#s(literal 2 binary64)
#s(approx (- (* (+ x 1) (+ x 1)) 1) (*.f64 x x))
(*.f64 x x)
x
(*.f64 (+.f64 #s(literal 2 binary64) x) x)
(*.f64 (-.f64 x #s(literal -2 binary64)) x)
(+.f64 #s(literal 2 binary64) x)
(-.f64 x #s(literal -2 binary64))
#s(literal 2 binary64)
x
(-.f64 #s(approx (* (+ x 1) (+ x 1)) #s(literal 1 binary64)) #s(literal 1 binary64))
#s(approx (* (+ x 1) (+ x 1)) #s(literal 1 binary64))
#s(literal 1 binary64)

localize30.0ms (0.8%)

Memory
12.7MiB live, 12.7MiB allocated
Localize:

Found 8 expressions of interest:

NewMetricScoreProgram
accuracy25.72112660695824
(-.f64 #s(approx (* (+ x 1) (+ x 1)) #s(literal 1 binary64)) #s(literal 1 binary64))
accuracy35.13958097462361
#s(approx (* (+ x 1) (+ x 1)) #s(literal 1 binary64))
accuracy0
(+.f64 #s(literal 2 binary64) x)
accuracy0.00390625
(*.f64 (+.f64 #s(literal 2 binary64) x) x)
accuracy0
(*.f64 x x)
accuracy26.654191787597178
#s(approx (- (* (+ x 1) (+ x 1)) 1) (*.f64 x x))
accuracy0
(*.f64 x #s(literal 2 binary64))
accuracy35.48966742596117
#s(approx (- (* (+ x 1) (+ x 1)) 1) (*.f64 x #s(literal 2 binary64)))
Samples
12.0ms180×0valid
9.0ms76×1valid
Compiler

Compiled 90 to 23 computations (74.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 13.0ms
ival-mult: 6.0ms (47.8% of total)
ival-add: 3.0ms (23.9% of total)
adjust: 2.0ms (15.9% of total)
ival-sub: 2.0ms (15.9% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series5.0ms (0.1%)

Memory
2.9MiB live, 2.9MiB allocated
Counts
8 → 96
Calls
Call 1
Inputs
#s(alt #s(approx (- (* (+ x 1) (+ x 1)) 1) (*.f64 x #s(literal 2 binary64))) (patch #s(approx (- (* (+ x 1) (+ x 1)) 1) (*.f64 x #s(literal 2 binary64))) #<representation binary64>) () ())
#s(alt (*.f64 x #s(literal 2 binary64)) (patch (*.f64 x #s(literal 2 binary64)) #<representation binary64>) () ())
#s(alt #s(approx (- (* (+ x 1) (+ x 1)) 1) (*.f64 x x)) (patch #s(approx (- (* (+ x 1) (+ x 1)) 1) (*.f64 x x)) #<representation binary64>) () ())
#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())
#s(alt (*.f64 (+.f64 #s(literal 2 binary64) x) x) (patch (*.f64 (+.f64 #s(literal 2 binary64) x) x) #<representation binary64>) () ())
#s(alt (+.f64 #s(literal 2 binary64) x) (patch (+.f64 #s(literal 2 binary64) x) #<representation binary64>) () ())
#s(alt (-.f64 #s(approx (* (+ x 1) (+ x 1)) #s(literal 1 binary64)) #s(literal 1 binary64)) (patch (-.f64 #s(approx (* (+ x 1) (+ x 1)) #s(literal 1 binary64)) #s(literal 1 binary64)) #<representation binary64>) () ())
#s(alt #s(approx (* (+ x 1) (+ x 1)) #s(literal 1 binary64)) (patch #s(approx (* (+ x 1) (+ x 1)) #s(literal 1 binary64)) #<representation binary64>) () ())
Outputs
#s(alt (* 2 x) (taylor 0 x) (#s(alt #s(approx (- (* (+ x 1) (+ x 1)) 1) (*.f64 x #s(literal 2 binary64))) (patch #s(approx (- (* (+ x 1) (+ x 1)) 1) (*.f64 x #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* x (+ 2 x)) (taylor 0 x) (#s(alt #s(approx (- (* (+ x 1) (+ x 1)) 1) (*.f64 x #s(literal 2 binary64))) (patch #s(approx (- (* (+ x 1) (+ x 1)) 1) (*.f64 x #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* x (+ 2 x)) (taylor 0 x) (#s(alt #s(approx (- (* (+ x 1) (+ x 1)) 1) (*.f64 x #s(literal 2 binary64))) (patch #s(approx (- (* (+ x 1) (+ x 1)) 1) (*.f64 x #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* x (+ 2 x)) (taylor 0 x) (#s(alt #s(approx (- (* (+ x 1) (+ x 1)) 1) (*.f64 x #s(literal 2 binary64))) (patch #s(approx (- (* (+ x 1) (+ x 1)) 1) (*.f64 x #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 2 x) (taylor 0 x) (#s(alt (*.f64 x #s(literal 2 binary64)) (patch (*.f64 x #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 2 x) (taylor 0 x) (#s(alt (*.f64 x #s(literal 2 binary64)) (patch (*.f64 x #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 2 x) (taylor 0 x) (#s(alt (*.f64 x #s(literal 2 binary64)) (patch (*.f64 x #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 2 x) (taylor 0 x) (#s(alt (*.f64 x #s(literal 2 binary64)) (patch (*.f64 x #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 2 x) (taylor 0 x) (#s(alt #s(approx (- (* (+ x 1) (+ x 1)) 1) (*.f64 x x)) (patch #s(approx (- (* (+ x 1) (+ x 1)) 1) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 2 x)) (taylor 0 x) (#s(alt #s(approx (- (* (+ x 1) (+ x 1)) 1) (*.f64 x x)) (patch #s(approx (- (* (+ x 1) (+ x 1)) 1) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 2 x)) (taylor 0 x) (#s(alt #s(approx (- (* (+ x 1) (+ x 1)) 1) (*.f64 x x)) (patch #s(approx (- (* (+ x 1) (+ x 1)) 1) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 2 x)) (taylor 0 x) (#s(alt #s(approx (- (* (+ x 1) (+ x 1)) 1) (*.f64 x x)) (patch #s(approx (- (* (+ x 1) (+ x 1)) 1) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor 0 x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor 0 x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor 0 x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor 0 x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (* 2 x) (taylor 0 x) (#s(alt (*.f64 (+.f64 #s(literal 2 binary64) x) x) (patch (*.f64 (+.f64 #s(literal 2 binary64) x) x) #<representation binary64>) () ())) ())
#s(alt (* x (+ 2 x)) (taylor 0 x) (#s(alt (*.f64 (+.f64 #s(literal 2 binary64) x) x) (patch (*.f64 (+.f64 #s(literal 2 binary64) x) x) #<representation binary64>) () ())) ())
#s(alt (* x (+ 2 x)) (taylor 0 x) (#s(alt (*.f64 (+.f64 #s(literal 2 binary64) x) x) (patch (*.f64 (+.f64 #s(literal 2 binary64) x) x) #<representation binary64>) () ())) ())
#s(alt (* x (+ 2 x)) (taylor 0 x) (#s(alt (*.f64 (+.f64 #s(literal 2 binary64) x) x) (patch (*.f64 (+.f64 #s(literal 2 binary64) x) x) #<representation binary64>) () ())) ())
#s(alt 2 (taylor 0 x) (#s(alt (+.f64 #s(literal 2 binary64) x) (patch (+.f64 #s(literal 2 binary64) x) #<representation binary64>) () ())) ())
#s(alt (+ 2 x) (taylor 0 x) (#s(alt (+.f64 #s(literal 2 binary64) x) (patch (+.f64 #s(literal 2 binary64) x) #<representation binary64>) () ())) ())
#s(alt (+ 2 x) (taylor 0 x) (#s(alt (+.f64 #s(literal 2 binary64) x) (patch (+.f64 #s(literal 2 binary64) x) #<representation binary64>) () ())) ())
#s(alt (+ 2 x) (taylor 0 x) (#s(alt (+.f64 #s(literal 2 binary64) x) (patch (+.f64 #s(literal 2 binary64) x) #<representation binary64>) () ())) ())
#s(alt (* 2 x) (taylor 0 x) (#s(alt (-.f64 #s(approx (* (+ x 1) (+ x 1)) #s(literal 1 binary64)) #s(literal 1 binary64)) (patch (-.f64 #s(approx (* (+ x 1) (+ x 1)) #s(literal 1 binary64)) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 2 x)) (taylor 0 x) (#s(alt (-.f64 #s(approx (* (+ x 1) (+ x 1)) #s(literal 1 binary64)) #s(literal 1 binary64)) (patch (-.f64 #s(approx (* (+ x 1) (+ x 1)) #s(literal 1 binary64)) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 2 x)) (taylor 0 x) (#s(alt (-.f64 #s(approx (* (+ x 1) (+ x 1)) #s(literal 1 binary64)) #s(literal 1 binary64)) (patch (-.f64 #s(approx (* (+ x 1) (+ x 1)) #s(literal 1 binary64)) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 2 x)) (taylor 0 x) (#s(alt (-.f64 #s(approx (* (+ x 1) (+ x 1)) #s(literal 1 binary64)) #s(literal 1 binary64)) (patch (-.f64 #s(approx (* (+ x 1) (+ x 1)) #s(literal 1 binary64)) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt 1 (taylor 0 x) (#s(alt #s(approx (* (+ x 1) (+ x 1)) #s(literal 1 binary64)) (patch #s(approx (* (+ x 1) (+ x 1)) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1 (* 2 x)) (taylor 0 x) (#s(alt #s(approx (* (+ x 1) (+ x 1)) #s(literal 1 binary64)) (patch #s(approx (* (+ x 1) (+ x 1)) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1 (* x (+ 2 x))) (taylor 0 x) (#s(alt #s(approx (* (+ x 1) (+ x 1)) #s(literal 1 binary64)) (patch #s(approx (* (+ x 1) (+ x 1)) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1 (* x (+ 2 x))) (taylor 0 x) (#s(alt #s(approx (* (+ x 1) (+ x 1)) #s(literal 1 binary64)) (patch #s(approx (* (+ x 1) (+ x 1)) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt #s(approx (- (* (+ x 1) (+ x 1)) 1) (*.f64 x #s(literal 2 binary64))) (patch #s(approx (- (* (+ x 1) (+ x 1)) 1) (*.f64 x #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (* 2 (/ 1 x)))) (taylor inf x) (#s(alt #s(approx (- (* (+ x 1) (+ x 1)) 1) (*.f64 x #s(literal 2 binary64))) (patch #s(approx (- (* (+ x 1) (+ x 1)) 1) (*.f64 x #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (* 2 (/ 1 x)))) (taylor inf x) (#s(alt #s(approx (- (* (+ x 1) (+ x 1)) 1) (*.f64 x #s(literal 2 binary64))) (patch #s(approx (- (* (+ x 1) (+ x 1)) 1) (*.f64 x #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (* 2 (/ 1 x)))) (taylor inf x) (#s(alt #s(approx (- (* (+ x 1) (+ x 1)) 1) (*.f64 x #s(literal 2 binary64))) (patch #s(approx (- (* (+ x 1) (+ x 1)) 1) (*.f64 x #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 2 x) (taylor inf x) (#s(alt (*.f64 x #s(literal 2 binary64)) (patch (*.f64 x #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 2 x) (taylor inf x) (#s(alt (*.f64 x #s(literal 2 binary64)) (patch (*.f64 x #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 2 x) (taylor inf x) (#s(alt (*.f64 x #s(literal 2 binary64)) (patch (*.f64 x #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 2 x) (taylor inf x) (#s(alt (*.f64 x #s(literal 2 binary64)) (patch (*.f64 x #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt #s(approx (- (* (+ x 1) (+ x 1)) 1) (*.f64 x x)) (patch #s(approx (- (* (+ x 1) (+ x 1)) 1) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (* 2 (/ 1 x)))) (taylor inf x) (#s(alt #s(approx (- (* (+ x 1) (+ x 1)) 1) (*.f64 x x)) (patch #s(approx (- (* (+ x 1) (+ x 1)) 1) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (* 2 (/ 1 x)))) (taylor inf x) (#s(alt #s(approx (- (* (+ x 1) (+ x 1)) 1) (*.f64 x x)) (patch #s(approx (- (* (+ x 1) (+ x 1)) 1) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (* 2 (/ 1 x)))) (taylor inf x) (#s(alt #s(approx (- (* (+ x 1) (+ x 1)) 1) (*.f64 x x)) (patch #s(approx (- (* (+ x 1) (+ x 1)) 1) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt (*.f64 (+.f64 #s(literal 2 binary64) x) x) (patch (*.f64 (+.f64 #s(literal 2 binary64) x) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (* 2 (/ 1 x)))) (taylor inf x) (#s(alt (*.f64 (+.f64 #s(literal 2 binary64) x) x) (patch (*.f64 (+.f64 #s(literal 2 binary64) x) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (* 2 (/ 1 x)))) (taylor inf x) (#s(alt (*.f64 (+.f64 #s(literal 2 binary64) x) x) (patch (*.f64 (+.f64 #s(literal 2 binary64) x) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (* 2 (/ 1 x)))) (taylor inf x) (#s(alt (*.f64 (+.f64 #s(literal 2 binary64) x) x) (patch (*.f64 (+.f64 #s(literal 2 binary64) x) x) #<representation binary64>) () ())) ())
#s(alt x (taylor inf x) (#s(alt (+.f64 #s(literal 2 binary64) x) (patch (+.f64 #s(literal 2 binary64) x) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* 2 (/ 1 x)))) (taylor inf x) (#s(alt (+.f64 #s(literal 2 binary64) x) (patch (+.f64 #s(literal 2 binary64) x) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* 2 (/ 1 x)))) (taylor inf x) (#s(alt (+.f64 #s(literal 2 binary64) x) (patch (+.f64 #s(literal 2 binary64) x) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* 2 (/ 1 x)))) (taylor inf x) (#s(alt (+.f64 #s(literal 2 binary64) x) (patch (+.f64 #s(literal 2 binary64) x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt (-.f64 #s(approx (* (+ x 1) (+ x 1)) #s(literal 1 binary64)) #s(literal 1 binary64)) (patch (-.f64 #s(approx (* (+ x 1) (+ x 1)) #s(literal 1 binary64)) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (* 2 (/ 1 x)))) (taylor inf x) (#s(alt (-.f64 #s(approx (* (+ x 1) (+ x 1)) #s(literal 1 binary64)) #s(literal 1 binary64)) (patch (-.f64 #s(approx (* (+ x 1) (+ x 1)) #s(literal 1 binary64)) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (* 2 (/ 1 x)))) (taylor inf x) (#s(alt (-.f64 #s(approx (* (+ x 1) (+ x 1)) #s(literal 1 binary64)) #s(literal 1 binary64)) (patch (-.f64 #s(approx (* (+ x 1) (+ x 1)) #s(literal 1 binary64)) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (* 2 (/ 1 x)))) (taylor inf x) (#s(alt (-.f64 #s(approx (* (+ x 1) (+ x 1)) #s(literal 1 binary64)) #s(literal 1 binary64)) (patch (-.f64 #s(approx (* (+ x 1) (+ x 1)) #s(literal 1 binary64)) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt #s(approx (* (+ x 1) (+ x 1)) #s(literal 1 binary64)) (patch #s(approx (* (+ x 1) (+ x 1)) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (* 2 (/ 1 x)))) (taylor inf x) (#s(alt #s(approx (* (+ x 1) (+ x 1)) #s(literal 1 binary64)) (patch #s(approx (* (+ x 1) (+ x 1)) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (+ (* 2 (/ 1 x)) (/ 1 (pow x 2))))) (taylor inf x) (#s(alt #s(approx (* (+ x 1) (+ x 1)) #s(literal 1 binary64)) (patch #s(approx (* (+ x 1) (+ x 1)) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (+ (* 2 (/ 1 x)) (/ 1 (pow x 2))))) (taylor inf x) (#s(alt #s(approx (* (+ x 1) (+ x 1)) #s(literal 1 binary64)) (patch #s(approx (* (+ x 1) (+ x 1)) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor -inf x) (#s(alt #s(approx (- (* (+ x 1) (+ x 1)) 1) (*.f64 x #s(literal 2 binary64))) (patch #s(approx (- (* (+ x 1) (+ x 1)) 1) (*.f64 x #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (* 2 (/ 1 x)))) (taylor -inf x) (#s(alt #s(approx (- (* (+ x 1) (+ x 1)) 1) (*.f64 x #s(literal 2 binary64))) (patch #s(approx (- (* (+ x 1) (+ x 1)) 1) (*.f64 x #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (* 2 (/ 1 x)))) (taylor -inf x) (#s(alt #s(approx (- (* (+ x 1) (+ x 1)) 1) (*.f64 x #s(literal 2 binary64))) (patch #s(approx (- (* (+ x 1) (+ x 1)) 1) (*.f64 x #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (* 2 (/ 1 x)))) (taylor -inf x) (#s(alt #s(approx (- (* (+ x 1) (+ x 1)) 1) (*.f64 x #s(literal 2 binary64))) (patch #s(approx (- (* (+ x 1) (+ x 1)) 1) (*.f64 x #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 2 x) (taylor -inf x) (#s(alt (*.f64 x #s(literal 2 binary64)) (patch (*.f64 x #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 2 x) (taylor -inf x) (#s(alt (*.f64 x #s(literal 2 binary64)) (patch (*.f64 x #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 2 x) (taylor -inf x) (#s(alt (*.f64 x #s(literal 2 binary64)) (patch (*.f64 x #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 2 x) (taylor -inf x) (#s(alt (*.f64 x #s(literal 2 binary64)) (patch (*.f64 x #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor -inf x) (#s(alt #s(approx (- (* (+ x 1) (+ x 1)) 1) (*.f64 x x)) (patch #s(approx (- (* (+ x 1) (+ x 1)) 1) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (* 2 (/ 1 x)))) (taylor -inf x) (#s(alt #s(approx (- (* (+ x 1) (+ x 1)) 1) (*.f64 x x)) (patch #s(approx (- (* (+ x 1) (+ x 1)) 1) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (* 2 (/ 1 x)))) (taylor -inf x) (#s(alt #s(approx (- (* (+ x 1) (+ x 1)) 1) (*.f64 x x)) (patch #s(approx (- (* (+ x 1) (+ x 1)) 1) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (* 2 (/ 1 x)))) (taylor -inf x) (#s(alt #s(approx (- (* (+ x 1) (+ x 1)) 1) (*.f64 x x)) (patch #s(approx (- (* (+ x 1) (+ x 1)) 1) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor -inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor -inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor -inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor -inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor -inf x) (#s(alt (*.f64 (+.f64 #s(literal 2 binary64) x) x) (patch (*.f64 (+.f64 #s(literal 2 binary64) x) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (* 2 (/ 1 x)))) (taylor -inf x) (#s(alt (*.f64 (+.f64 #s(literal 2 binary64) x) x) (patch (*.f64 (+.f64 #s(literal 2 binary64) x) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (* 2 (/ 1 x)))) (taylor -inf x) (#s(alt (*.f64 (+.f64 #s(literal 2 binary64) x) x) (patch (*.f64 (+.f64 #s(literal 2 binary64) x) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (* 2 (/ 1 x)))) (taylor -inf x) (#s(alt (*.f64 (+.f64 #s(literal 2 binary64) x) x) (patch (*.f64 (+.f64 #s(literal 2 binary64) x) x) #<representation binary64>) () ())) ())
#s(alt x (taylor -inf x) (#s(alt (+.f64 #s(literal 2 binary64) x) (patch (+.f64 #s(literal 2 binary64) x) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* 2 (/ 1 x)))) (taylor -inf x) (#s(alt (+.f64 #s(literal 2 binary64) x) (patch (+.f64 #s(literal 2 binary64) x) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* 2 (/ 1 x)))) (taylor -inf x) (#s(alt (+.f64 #s(literal 2 binary64) x) (patch (+.f64 #s(literal 2 binary64) x) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* 2 (/ 1 x)))) (taylor -inf x) (#s(alt (+.f64 #s(literal 2 binary64) x) (patch (+.f64 #s(literal 2 binary64) x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor -inf x) (#s(alt (-.f64 #s(approx (* (+ x 1) (+ x 1)) #s(literal 1 binary64)) #s(literal 1 binary64)) (patch (-.f64 #s(approx (* (+ x 1) (+ x 1)) #s(literal 1 binary64)) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (* 2 (/ 1 x)))) (taylor -inf x) (#s(alt (-.f64 #s(approx (* (+ x 1) (+ x 1)) #s(literal 1 binary64)) #s(literal 1 binary64)) (patch (-.f64 #s(approx (* (+ x 1) (+ x 1)) #s(literal 1 binary64)) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (* 2 (/ 1 x)))) (taylor -inf x) (#s(alt (-.f64 #s(approx (* (+ x 1) (+ x 1)) #s(literal 1 binary64)) #s(literal 1 binary64)) (patch (-.f64 #s(approx (* (+ x 1) (+ x 1)) #s(literal 1 binary64)) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (* 2 (/ 1 x)))) (taylor -inf x) (#s(alt (-.f64 #s(approx (* (+ x 1) (+ x 1)) #s(literal 1 binary64)) #s(literal 1 binary64)) (patch (-.f64 #s(approx (* (+ x 1) (+ x 1)) #s(literal 1 binary64)) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor -inf x) (#s(alt #s(approx (* (+ x 1) (+ x 1)) #s(literal 1 binary64)) (patch #s(approx (* (+ x 1) (+ x 1)) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (* 2 (/ 1 x)))) (taylor -inf x) (#s(alt #s(approx (* (+ x 1) (+ x 1)) #s(literal 1 binary64)) (patch #s(approx (* (+ x 1) (+ x 1)) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (+ (* 2 (/ 1 x)) (/ 1 (pow x 2))))) (taylor -inf x) (#s(alt #s(approx (* (+ x 1) (+ x 1)) #s(literal 1 binary64)) (patch #s(approx (* (+ x 1) (+ x 1)) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (+ (* 2 (/ 1 x)) (/ 1 (pow x 2))))) (taylor -inf x) (#s(alt #s(approx (* (+ x 1) (+ x 1)) #s(literal 1 binary64)) (patch #s(approx (* (+ x 1) (+ x 1)) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
Calls

3 calls:

TimeVariablePointExpression
1.0ms
x
@-inf
((- (* (+ x 1) (+ x 1)) 1) (* x 2) (- (* (+ x 1) (+ x 1)) 1) (* x x) (* (+ 2 x) x) (+ 2 x) (- (* (+ x 1) (+ x 1)) 1) (* (+ x 1) (+ x 1)))
1.0ms
x
@0
((- (* (+ x 1) (+ x 1)) 1) (* x 2) (- (* (+ x 1) (+ x 1)) 1) (* x x) (* (+ 2 x) x) (+ 2 x) (- (* (+ x 1) (+ x 1)) 1) (* (+ x 1) (+ x 1)))
1.0ms
x
@inf
((- (* (+ x 1) (+ x 1)) 1) (* x 2) (- (* (+ x 1) (+ x 1)) 1) (* x x) (* (+ 2 x) x) (+ 2 x) (- (* (+ x 1) (+ x 1)) 1) (* (+ x 1) (+ x 1)))

simplify360.0ms (9.5%)

Memory
-5.5MiB live, 81.7MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
018382
154382
2118382
3278382
4540382
52080382
63387382
74407382
85047382
95901382
106238382
116504382
127409382
08090375
Stop Event
iter limit
node limit
Counts
96 → 94
Calls
Call 1
Inputs
(* 2 x)
(* x (+ 2 x))
(* x (+ 2 x))
(* x (+ 2 x))
(* 2 x)
(* 2 x)
(* 2 x)
(* 2 x)
(* 2 x)
(* x (+ 2 x))
(* x (+ 2 x))
(* x (+ 2 x))
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(* 2 x)
(* x (+ 2 x))
(* x (+ 2 x))
(* x (+ 2 x))
2
(+ 2 x)
(+ 2 x)
(+ 2 x)
(* 2 x)
(* x (+ 2 x))
(* x (+ 2 x))
(* x (+ 2 x))
1
(+ 1 (* 2 x))
(+ 1 (* x (+ 2 x)))
(+ 1 (* x (+ 2 x)))
(pow x 2)
(* (pow x 2) (+ 1 (* 2 (/ 1 x))))
(* (pow x 2) (+ 1 (* 2 (/ 1 x))))
(* (pow x 2) (+ 1 (* 2 (/ 1 x))))
(* 2 x)
(* 2 x)
(* 2 x)
(* 2 x)
(pow x 2)
(* (pow x 2) (+ 1 (* 2 (/ 1 x))))
(* (pow x 2) (+ 1 (* 2 (/ 1 x))))
(* (pow x 2) (+ 1 (* 2 (/ 1 x))))
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(* (pow x 2) (+ 1 (* 2 (/ 1 x))))
(* (pow x 2) (+ 1 (* 2 (/ 1 x))))
(* (pow x 2) (+ 1 (* 2 (/ 1 x))))
x
(* x (+ 1 (* 2 (/ 1 x))))
(* x (+ 1 (* 2 (/ 1 x))))
(* x (+ 1 (* 2 (/ 1 x))))
(pow x 2)
(* (pow x 2) (+ 1 (* 2 (/ 1 x))))
(* (pow x 2) (+ 1 (* 2 (/ 1 x))))
(* (pow x 2) (+ 1 (* 2 (/ 1 x))))
(pow x 2)
(* (pow x 2) (+ 1 (* 2 (/ 1 x))))
(* (pow x 2) (+ 1 (+ (* 2 (/ 1 x)) (/ 1 (pow x 2)))))
(* (pow x 2) (+ 1 (+ (* 2 (/ 1 x)) (/ 1 (pow x 2)))))
(pow x 2)
(* (pow x 2) (+ 1 (* 2 (/ 1 x))))
(* (pow x 2) (+ 1 (* 2 (/ 1 x))))
(* (pow x 2) (+ 1 (* 2 (/ 1 x))))
(* 2 x)
(* 2 x)
(* 2 x)
(* 2 x)
(pow x 2)
(* (pow x 2) (+ 1 (* 2 (/ 1 x))))
(* (pow x 2) (+ 1 (* 2 (/ 1 x))))
(* (pow x 2) (+ 1 (* 2 (/ 1 x))))
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(* (pow x 2) (+ 1 (* 2 (/ 1 x))))
(* (pow x 2) (+ 1 (* 2 (/ 1 x))))
(* (pow x 2) (+ 1 (* 2 (/ 1 x))))
x
(* x (+ 1 (* 2 (/ 1 x))))
(* x (+ 1 (* 2 (/ 1 x))))
(* x (+ 1 (* 2 (/ 1 x))))
(pow x 2)
(* (pow x 2) (+ 1 (* 2 (/ 1 x))))
(* (pow x 2) (+ 1 (* 2 (/ 1 x))))
(* (pow x 2) (+ 1 (* 2 (/ 1 x))))
(pow x 2)
(* (pow x 2) (+ 1 (* 2 (/ 1 x))))
(* (pow x 2) (+ 1 (+ (* 2 (/ 1 x)) (/ 1 (pow x 2)))))
(* (pow x 2) (+ 1 (+ (* 2 (/ 1 x)) (/ 1 (pow x 2)))))
Outputs
(* 2 x)
(*.f64 x #s(literal 2 binary64))
(* x (+ 2 x))
(*.f64 (+.f64 x #s(literal 2 binary64)) x)
(* x (+ 2 x))
(*.f64 (+.f64 x #s(literal 2 binary64)) x)
(* x (+ 2 x))
(*.f64 (+.f64 x #s(literal 2 binary64)) x)
(* 2 x)
(*.f64 x #s(literal 2 binary64))
(* 2 x)
(*.f64 x #s(literal 2 binary64))
(* 2 x)
(*.f64 x #s(literal 2 binary64))
(* 2 x)
(*.f64 x #s(literal 2 binary64))
(* 2 x)
(*.f64 x #s(literal 2 binary64))
(* x (+ 2 x))
(*.f64 (+.f64 x #s(literal 2 binary64)) x)
(* x (+ 2 x))
(*.f64 (+.f64 x #s(literal 2 binary64)) x)
(* x (+ 2 x))
(*.f64 (+.f64 x #s(literal 2 binary64)) x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(* 2 x)
(*.f64 x #s(literal 2 binary64))
(* x (+ 2 x))
(*.f64 (+.f64 x #s(literal 2 binary64)) x)
(* x (+ 2 x))
(*.f64 (+.f64 x #s(literal 2 binary64)) x)
(* x (+ 2 x))
(*.f64 (+.f64 x #s(literal 2 binary64)) x)
2
#s(literal 2 binary64)
(+ 2 x)
(+.f64 x #s(literal 2 binary64))
(+ 2 x)
(+.f64 x #s(literal 2 binary64))
(+ 2 x)
(+.f64 x #s(literal 2 binary64))
(* 2 x)
(*.f64 x #s(literal 2 binary64))
(* x (+ 2 x))
(*.f64 (+.f64 x #s(literal 2 binary64)) x)
(* x (+ 2 x))
(*.f64 (+.f64 x #s(literal 2 binary64)) x)
(* x (+ 2 x))
(*.f64 (+.f64 x #s(literal 2 binary64)) x)
1
#s(literal 1 binary64)
(+ 1 (* 2 x))
(fma.f64 x #s(literal 2 binary64) #s(literal 1 binary64))
(+ 1 (* x (+ 2 x)))
(fma.f64 (+.f64 x #s(literal 2 binary64)) x #s(literal 1 binary64))
(+ 1 (* x (+ 2 x)))
(fma.f64 (+.f64 x #s(literal 2 binary64)) x #s(literal 1 binary64))
(pow x 2)
(*.f64 x x)
(* (pow x 2) (+ 1 (* 2 (/ 1 x))))
(*.f64 (+.f64 x #s(literal 2 binary64)) x)
(* (pow x 2) (+ 1 (* 2 (/ 1 x))))
(*.f64 (+.f64 x #s(literal 2 binary64)) x)
(* (pow x 2) (+ 1 (* 2 (/ 1 x))))
(*.f64 (+.f64 x #s(literal 2 binary64)) x)
(* 2 x)
(*.f64 x #s(literal 2 binary64))
(* 2 x)
(*.f64 x #s(literal 2 binary64))
(* 2 x)
(*.f64 x #s(literal 2 binary64))
(* 2 x)
(*.f64 x #s(literal 2 binary64))
(pow x 2)
(*.f64 x x)
(* (pow x 2) (+ 1 (* 2 (/ 1 x))))
(*.f64 (+.f64 x #s(literal 2 binary64)) x)
(* (pow x 2) (+ 1 (* 2 (/ 1 x))))
(*.f64 (+.f64 x #s(literal 2 binary64)) x)
(* (pow x 2) (+ 1 (* 2 (/ 1 x))))
(*.f64 (+.f64 x #s(literal 2 binary64)) x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(* (pow x 2) (+ 1 (* 2 (/ 1 x))))
(*.f64 (+.f64 x #s(literal 2 binary64)) x)
(* (pow x 2) (+ 1 (* 2 (/ 1 x))))
(*.f64 (+.f64 x #s(literal 2 binary64)) x)
(* (pow x 2) (+ 1 (* 2 (/ 1 x))))
(*.f64 (+.f64 x #s(literal 2 binary64)) x)
x
(* x (+ 1 (* 2 (/ 1 x))))
(+.f64 x #s(literal 2 binary64))
(* x (+ 1 (* 2 (/ 1 x))))
(+.f64 x #s(literal 2 binary64))
(* x (+ 1 (* 2 (/ 1 x))))
(+.f64 x #s(literal 2 binary64))
(pow x 2)
(*.f64 x x)
(* (pow x 2) (+ 1 (* 2 (/ 1 x))))
(*.f64 (+.f64 x #s(literal 2 binary64)) x)
(* (pow x 2) (+ 1 (* 2 (/ 1 x))))
(*.f64 (+.f64 x #s(literal 2 binary64)) x)
(* (pow x 2) (+ 1 (* 2 (/ 1 x))))
(*.f64 (+.f64 x #s(literal 2 binary64)) x)
(pow x 2)
(*.f64 x x)
(* (pow x 2) (+ 1 (* 2 (/ 1 x))))
(*.f64 (+.f64 x #s(literal 2 binary64)) x)
(* (pow x 2) (+ 1 (+ (* 2 (/ 1 x)) (/ 1 (pow x 2)))))
(fma.f64 (+.f64 x #s(literal 2 binary64)) x #s(literal 1 binary64))
(* (pow x 2) (+ 1 (+ (* 2 (/ 1 x)) (/ 1 (pow x 2)))))
(fma.f64 (+.f64 x #s(literal 2 binary64)) x #s(literal 1 binary64))
(pow x 2)
(*.f64 x x)
(* (pow x 2) (+ 1 (* 2 (/ 1 x))))
(*.f64 (+.f64 x #s(literal 2 binary64)) x)
(* (pow x 2) (+ 1 (* 2 (/ 1 x))))
(*.f64 (+.f64 x #s(literal 2 binary64)) x)
(* (pow x 2) (+ 1 (* 2 (/ 1 x))))
(*.f64 (+.f64 x #s(literal 2 binary64)) x)
(* 2 x)
(*.f64 x #s(literal 2 binary64))
(* 2 x)
(*.f64 x #s(literal 2 binary64))
(* 2 x)
(*.f64 x #s(literal 2 binary64))
(* 2 x)
(*.f64 x #s(literal 2 binary64))
(pow x 2)
(*.f64 x x)
(* (pow x 2) (+ 1 (* 2 (/ 1 x))))
(*.f64 (+.f64 x #s(literal 2 binary64)) x)
(* (pow x 2) (+ 1 (* 2 (/ 1 x))))
(*.f64 (+.f64 x #s(literal 2 binary64)) x)
(* (pow x 2) (+ 1 (* 2 (/ 1 x))))
(*.f64 (+.f64 x #s(literal 2 binary64)) x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(* (pow x 2) (+ 1 (* 2 (/ 1 x))))
(*.f64 (+.f64 x #s(literal 2 binary64)) x)
(* (pow x 2) (+ 1 (* 2 (/ 1 x))))
(*.f64 (+.f64 x #s(literal 2 binary64)) x)
(* (pow x 2) (+ 1 (* 2 (/ 1 x))))
(*.f64 (+.f64 x #s(literal 2 binary64)) x)
x
(* x (+ 1 (* 2 (/ 1 x))))
(+.f64 x #s(literal 2 binary64))
(* x (+ 1 (* 2 (/ 1 x))))
(+.f64 x #s(literal 2 binary64))
(* x (+ 1 (* 2 (/ 1 x))))
(+.f64 x #s(literal 2 binary64))
(pow x 2)
(*.f64 x x)
(* (pow x 2) (+ 1 (* 2 (/ 1 x))))
(*.f64 (+.f64 x #s(literal 2 binary64)) x)
(* (pow x 2) (+ 1 (* 2 (/ 1 x))))
(*.f64 (+.f64 x #s(literal 2 binary64)) x)
(* (pow x 2) (+ 1 (* 2 (/ 1 x))))
(*.f64 (+.f64 x #s(literal 2 binary64)) x)
(pow x 2)
(*.f64 x x)
(* (pow x 2) (+ 1 (* 2 (/ 1 x))))
(*.f64 (+.f64 x #s(literal 2 binary64)) x)
(* (pow x 2) (+ 1 (+ (* 2 (/ 1 x)) (/ 1 (pow x 2)))))
(fma.f64 (+.f64 x #s(literal 2 binary64)) x #s(literal 1 binary64))
(* (pow x 2) (+ 1 (+ (* 2 (/ 1 x)) (/ 1 (pow x 2)))))
(fma.f64 (+.f64 x #s(literal 2 binary64)) x #s(literal 1 binary64))

rewrite223.0ms (5.9%)

Memory
-9.0MiB live, 98.2MiB allocated
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01460
01952
18452
261248
0855748
Stop Event
iter limit
node limit
iter limit
Counts
8 → 643
Calls
Call 1
Inputs
#s(approx (- (* (+ x 1) (+ x 1)) 1) (*.f64 x #s(literal 2 binary64)))
(*.f64 x #s(literal 2 binary64))
#s(approx (- (* (+ x 1) (+ x 1)) 1) (*.f64 x x))
(*.f64 x x)
(*.f64 (+.f64 #s(literal 2 binary64) x) x)
(+.f64 #s(literal 2 binary64) x)
(-.f64 #s(approx (* (+ x 1) (+ x 1)) #s(literal 1 binary64)) #s(literal 1 binary64))
#s(approx (* (+ x 1) (+ x 1)) #s(literal 1 binary64))
Outputs
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval97.0ms (2.6%)

Memory
30.6MiB live, 90.6MiB allocated
Compiler

Compiled 13 615 to 1 453 computations (89.3% saved)

prune18.0ms (0.5%)

Memory
-15.5MiB live, 42.7MiB allocated
Pruning

4 alts after pruning (0 fresh and 4 done)

PrunedKeptTotal
New7370737
Fresh000
Picked044
Done000
Total7374741
Accuracy
100.0%
Counts
741 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
3.3%
(-.f64 #s(approx (* (+ x 1) (+ x 1)) #s(literal 1 binary64)) #s(literal 1 binary64))
100.0%
(*.f64 (+.f64 #s(literal 2 binary64) x) x)
58.4%
#s(approx (- (* (+ x 1) (+ x 1)) 1) (*.f64 x x))
44.5%
#s(approx (- (* (+ x 1) (+ x 1)) 1) (*.f64 x #s(literal 2 binary64)))
Compiler

Compiled 43 to 29 computations (32.6% saved)

regimes9.0ms (0.2%)

Memory
7.8MiB live, 7.8MiB allocated
Counts
5 → 1
Calls
Call 1
Inputs
(-.f64 #s(approx (* (+ x 1) (+ x 1)) #s(literal 1 binary64)) #s(literal 1 binary64))
#s(approx (- (* (+ x 1) (+ x 1)) 1) (*.f64 x #s(literal 2 binary64)))
#s(approx (- (* (+ x 1) (+ x 1)) 1) (*.f64 x x))
(*.f64 (+.f64 #s(literal 2 binary64) x) x)
(-.f64 (*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64))) #s(literal 1 binary64))
Outputs
(*.f64 (+.f64 #s(literal 2 binary64) x) x)
Calls

4 calls:

2.0ms
x
2.0ms
(+.f64 x #s(literal 1 binary64))
2.0ms
(*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64)))
2.0ms
(-.f64 (*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64))) #s(literal 1 binary64))
Results
AccuracySegmentsBranch
100.0%1x
100.0%1(-.f64 (*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64))) #s(literal 1 binary64))
100.0%1(*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64)))
100.0%1(+.f64 x #s(literal 1 binary64))
Compiler

Compiled 20 to 13 computations (35% saved)

regimes7.0ms (0.2%)

Memory
5.8MiB live, 5.8MiB allocated
Counts
3 → 2
Calls
Call 1
Inputs
(-.f64 #s(approx (* (+ x 1) (+ x 1)) #s(literal 1 binary64)) #s(literal 1 binary64))
#s(approx (- (* (+ x 1) (+ x 1)) 1) (*.f64 x #s(literal 2 binary64)))
#s(approx (- (* (+ x 1) (+ x 1)) 1) (*.f64 x x))
Outputs
#s(approx (- (* (+ x 1) (+ x 1)) 1) (*.f64 x #s(literal 2 binary64)))
#s(approx (- (* (+ x 1) (+ x 1)) 1) (*.f64 x x))
Calls

4 calls:

2.0ms
x
2.0ms
(+.f64 x #s(literal 1 binary64))
2.0ms
(*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64)))
1.0ms
(-.f64 (*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64))) #s(literal 1 binary64))
Results
AccuracySegmentsBranch
98.6%3x
98.6%2(-.f64 (*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64))) #s(literal 1 binary64))
98.6%2(*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64)))
98.6%3(+.f64 x #s(literal 1 binary64))
Compiler

Compiled 20 to 13 computations (35% saved)

regimes6.0ms (0.2%)

Memory
5.6MiB live, 5.6MiB allocated
Counts
2 → 1
Calls
Call 1
Inputs
(-.f64 #s(approx (* (+ x 1) (+ x 1)) #s(literal 1 binary64)) #s(literal 1 binary64))
#s(approx (- (* (+ x 1) (+ x 1)) 1) (*.f64 x #s(literal 2 binary64)))
Outputs
#s(approx (- (* (+ x 1) (+ x 1)) 1) (*.f64 x #s(literal 2 binary64)))
Calls

4 calls:

1.0ms
x
1.0ms
(+.f64 x #s(literal 1 binary64))
1.0ms
(*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64)))
1.0ms
(-.f64 (*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64))) #s(literal 1 binary64))
Results
AccuracySegmentsBranch
44.5%1x
44.5%1(+.f64 x #s(literal 1 binary64))
44.5%1(-.f64 (*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64))) #s(literal 1 binary64))
44.5%1(*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64)))
Compiler

Compiled 20 to 13 computations (35% saved)

regimes27.0ms (0.7%)

Memory
-24.8MiB live, 6.7MiB allocated
Accuracy

Total 0.0b remaining (0%)

Threshold costs 0b (0%)

Counts
1 → 1
Calls
Call 1
Inputs
(-.f64 #s(approx (* (+ x 1) (+ x 1)) #s(literal 1 binary64)) #s(literal 1 binary64))
Outputs
(-.f64 #s(approx (* (+ x 1) (+ x 1)) #s(literal 1 binary64)) #s(literal 1 binary64))
Calls

4 calls:

23.0ms
(-.f64 (*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64))) #s(literal 1 binary64))
1.0ms
x
1.0ms
(+.f64 x #s(literal 1 binary64))
1.0ms
(*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64)))
Results
AccuracySegmentsBranch
3.3%1x
3.3%1(-.f64 (*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64))) #s(literal 1 binary64))
3.3%1(*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64)))
3.3%1(+.f64 x #s(literal 1 binary64))
Compiler

Compiled 20 to 13 computations (35% saved)

bsearch0.0ms (0%)

Memory
0.5MiB live, 0.5MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.059038832716881
63988024.88315324
Compiler

Compiled 12 to 10 computations (16.7% saved)

simplify24.0ms (0.6%)

Memory
-10.5MiB live, 29.3MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01865
12765
23165
33465
43765
54065
Stop Event
saturated
Calls
Call 1
Inputs
(*.f64 (+.f64 #s(literal 2 binary64) x) x)
(if (<=.f64 (*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64))) #s(literal 2 binary64)) #s(approx (- (* (+ x 1) (+ x 1)) 1) (*.f64 x #s(literal 2 binary64))) #s(approx (- (* (+ x 1) (+ x 1)) 1) (*.f64 x x)))
#s(approx (- (* (+ x 1) (+ x 1)) 1) (*.f64 x #s(literal 2 binary64)))
(-.f64 #s(approx (* (+ x 1) (+ x 1)) #s(literal 1 binary64)) #s(literal 1 binary64))
Outputs
(*.f64 (+.f64 #s(literal 2 binary64) x) x)
(*.f64 (+.f64 x #s(literal 2 binary64)) x)
(if (<=.f64 (*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64))) #s(literal 2 binary64)) #s(approx (- (* (+ x 1) (+ x 1)) 1) (*.f64 x #s(literal 2 binary64))) #s(approx (- (* (+ x 1) (+ x 1)) 1) (*.f64 x x)))
(if (<=.f64 (*.f64 (+.f64 #s(literal 1 binary64) x) (+.f64 #s(literal 1 binary64) x)) #s(literal 2 binary64)) #s(approx (- (* (+ x 1) (+ x 1)) 1) (*.f64 x #s(literal 2 binary64))) #s(approx (- (* (+ x 1) (+ x 1)) 1) (*.f64 x x)))
#s(approx (- (* (+ x 1) (+ x 1)) 1) (*.f64 x #s(literal 2 binary64)))
(-.f64 #s(approx (* (+ x 1) (+ x 1)) #s(literal 1 binary64)) #s(literal 1 binary64))

soundness553.0ms (14.6%)

Memory
27.1MiB live, 119.0MiB allocated
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
020148
158148
2115148
3290148
4561148
52376148
63744148
74603148
85228148
96074148
106411148
116675148
08086141
0519
0815
14815
237913
3633413
0823713
Stop Event
done
iter limit
node limit
iter limit
iter limit
node limit
Compiler

Compiled 57 to 34 computations (40.4% saved)

preprocess61.0ms (1.6%)

Memory
-9.5MiB live, 58.0MiB allocated
Compiler

Compiled 80 to 40 computations (50% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...