Expression 3, p15

Time bar (total: 5.3s)

start0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

analyze0.0ms (0%)

Memory
0.2MiB live, 0.2MiB allocated
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%25%75%0%0%0%0
100%25%0%75%0%0%0%1
Compiler

Compiled 17 to 10 computations (41.2% saved)

sample892.0ms (16.8%)

Memory
33.9MiB live, 990.7MiB allocated
Samples
584.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 424.0ms
ival-mult: 236.0ms (55.6% of total)
ival-<=: 126.0ms (29.7% of total)
ival-add: 38.0ms (9% of total)
ival-and: 11.0ms (2.6% of total)
exact: 10.0ms (2.4% of total)
ival-assert: 3.0ms (0.7% of total)
Bogosity

explain100.0ms (1.9%)

Memory
-28.4MiB live, 129.2MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
00-0-(+.f64 (*.f64 x (*.f64 x x)) (*.f64 x x))
00-0-(*.f64 x (*.f64 x x))
00-0-(*.f64 x x)
00-0-x
Confusion
Predicted +Predicted -
+00
-0256
Precision
0/0
Recall
0/0
Confusion?
Predicted +Predicted MaybePredicted -
+000
-00256
Precision?
0/0
Recall?
0/0
Freqs
test
numberfreq
0256
Total Confusion?
Predicted +Predicted MaybePredicted -
+000
-001
Precision?
0/0
Recall?
0/0
Samples
27.0ms512×0valid
Compiler

Compiled 67 to 20 computations (70.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 17.0ms
ival-add: 10.0ms (57.6% of total)
ival-mult: 7.0ms (40.3% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess19.0ms (0.4%)

Memory
12.1MiB live, 50.9MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0617
13114
211314
331714
443814
544214
049
077
1167
2247
3337
4417
5517
6547
0546
Stop Event
iter limit
saturated
iter limit
saturated
Calls
Call 1
Inputs
(+.f64 (*.f64 x (*.f64 x x)) (*.f64 x x))
Outputs
(+.f64 (*.f64 x (*.f64 x x)) (*.f64 x x))
(fma.f64 x x (pow.f64 x #s(literal 3 binary64)))
Compiler

Compiled 9 to 4 computations (55.6% saved)

eval0.0ms (0%)

Memory
0.5MiB live, 0.5MiB allocated
Compiler

Compiled 0 to 1 computations (-∞% saved)

prune0.0ms (0%)

Memory
1.6MiB live, 1.6MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(+.f64 (*.f64 x (*.f64 x x)) (*.f64 x x))
Compiler

Compiled 9 to 4 computations (55.6% saved)

simplify4.0ms (0.1%)

Memory
6.4MiB live, 6.4MiB allocated
Algorithm
egg-herbie
Localize:

Found 3 expressions of interest:

NewMetricScoreProgram
cost-diff-5824
(*.f64 x (*.f64 x x))
cost-diff0
(*.f64 x x)
cost-diff128
(+.f64 (*.f64 x (*.f64 x x)) (*.f64 x x))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0418
0714
11614
22414
33314
44114
55114
65414
05413
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(+.f64 (*.f64 x (*.f64 x x)) (*.f64 x x))
(*.f64 x (*.f64 x x))
x
(*.f64 x x)
Outputs
(+.f64 (*.f64 x (*.f64 x x)) (*.f64 x x))
(fma.f64 x x (pow.f64 x #s(literal 3 binary64)))
(*.f64 x (*.f64 x x))
(pow.f64 x #s(literal 3 binary64))
x
(*.f64 x x)

localize29.0ms (0.6%)

Memory
-7.4MiB live, 31.3MiB allocated
Localize:

Found 3 expressions of interest:

NewMetricScoreProgram
accuracy0
(*.f64 x x)
accuracy0.01171875
(+.f64 (*.f64 x (*.f64 x x)) (*.f64 x x))
accuracy0.05078125
(*.f64 x (*.f64 x x))
Samples
25.0ms256×0valid
Compiler

Compiled 38 to 10 computations (73.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 6.0ms
ival-mult: 3.0ms (54.3% of total)
ival-add: 2.0ms (36.2% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series3.0ms (0.1%)

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

3 calls:

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

simplify169.0ms (3.2%)

Memory
0.2MiB live, 125.8MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
011144
130144
264144
3103144
4286144
51327144
62336144
73178144
83901144
94727144
105070144
115335144
125547144
135767144
145850144
156640144
167717144
08019135
Stop Event
iter limit
node limit
Counts
36 → 36
Calls
Call 1
Inputs
(pow x 2)
(* (pow x 2) (+ 1 x))
(* (pow x 2) (+ 1 x))
(* (pow x 2) (+ 1 x))
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 3)
(pow x 3)
(pow x 3)
(pow x 3)
(pow x 3)
(* (pow x 3) (+ 1 (/ 1 x)))
(* (pow x 3) (+ 1 (/ 1 x)))
(* (pow x 3) (+ 1 (/ 1 x)))
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 3)
(pow x 3)
(pow x 3)
(pow x 3)
(pow x 3)
(* (pow x 3) (+ 1 (/ 1 x)))
(* (pow x 3) (+ 1 (/ 1 x)))
(* (pow x 3) (+ 1 (/ 1 x)))
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 3)
(pow x 3)
(pow x 3)
(pow x 3)
Outputs
(pow x 2)
(*.f64 x x)
(* (pow x 2) (+ 1 x))
(*.f64 (fma.f64 x x x) x)
(* (pow x 2) (+ 1 x))
(*.f64 (fma.f64 x x x) x)
(* (pow x 2) (+ 1 x))
(*.f64 (fma.f64 x x 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 3)
(pow.f64 x #s(literal 3 binary64))
(pow x 3)
(pow.f64 x #s(literal 3 binary64))
(pow x 3)
(pow.f64 x #s(literal 3 binary64))
(pow x 3)
(pow.f64 x #s(literal 3 binary64))
(pow x 3)
(pow.f64 x #s(literal 3 binary64))
(* (pow x 3) (+ 1 (/ 1 x)))
(*.f64 (fma.f64 x x x) x)
(* (pow x 3) (+ 1 (/ 1 x)))
(*.f64 (fma.f64 x x x) x)
(* (pow x 3) (+ 1 (/ 1 x)))
(*.f64 (fma.f64 x x 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 3)
(pow.f64 x #s(literal 3 binary64))
(pow x 3)
(pow.f64 x #s(literal 3 binary64))
(pow x 3)
(pow.f64 x #s(literal 3 binary64))
(pow x 3)
(pow.f64 x #s(literal 3 binary64))
(pow x 3)
(pow.f64 x #s(literal 3 binary64))
(* (pow x 3) (+ 1 (/ 1 x)))
(*.f64 (fma.f64 x x x) x)
(* (pow x 3) (+ 1 (/ 1 x)))
(*.f64 (fma.f64 x x x) x)
(* (pow x 3) (+ 1 (/ 1 x)))
(*.f64 (fma.f64 x x 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 3)
(pow.f64 x #s(literal 3 binary64))
(pow x 3)
(pow.f64 x #s(literal 3 binary64))
(pow x 3)
(pow.f64 x #s(literal 3 binary64))
(pow x 3)
(pow.f64 x #s(literal 3 binary64))

rewrite364.0ms (6.9%)

Memory
-14.2MiB live, 258.1MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0417
0713
13013
219913
3178013
0847912
Stop Event
iter limit
node limit
iter limit
Counts
3 → 243
Calls
Call 1
Inputs
(+.f64 (*.f64 x (*.f64 x x)) (*.f64 x x))
(*.f64 x x)
(*.f64 x (*.f64 x x))
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>

eval30.0ms (0.6%)

Memory
27.9MiB live, 63.5MiB allocated
Compiler

Compiled 6 488 to 692 computations (89.3% saved)

prune22.0ms (0.4%)

Memory
-17.0MiB live, 20.3MiB allocated
Pruning

5 alts after pruning (5 fresh and 0 done)

PrunedKeptTotal
New2995304
Fresh000
Picked101
Done000
Total3005305
Accuracy
100.0%
Counts
305 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(fma.f64 (*.f64 x x) x (*.f64 x x))
100.0%
(/.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) (*.f64 x x)) (-.f64 x #s(literal 1 binary64)))
100.0%
(*.f64 (fma.f64 x x x) x)
99.9%
(*.f64 (+.f64 #s(literal 1 binary64) x) (*.f64 x x))
97.0%
#s(approx (+ (* x (* x x)) (* x x)) (*.f64 x x))
Compiler

Compiled 74 to 44 computations (40.5% saved)

simplify292.0ms (5.5%)

Memory
17.8MiB live, 297.6MiB allocated
Algorithm
egg-herbie
Localize:

Found 13 expressions of interest:

NewMetricScoreProgram
cost-diff0
(-.f64 x #s(literal 1 binary64))
cost-diff0
(*.f64 x x)
cost-diff0
(fma.f64 x x #s(literal -1 binary64))
cost-diff7168
(/.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) (*.f64 x x)) (-.f64 x #s(literal 1 binary64)))
cost-diff0
(*.f64 x x)
cost-diff320
(fma.f64 (*.f64 x x) x (*.f64 x x))
cost-diff0
(*.f64 x x)
cost-diff0
(+.f64 #s(literal 1 binary64) x)
cost-diff128
(*.f64 (+.f64 #s(literal 1 binary64) x) (*.f64 x x))
cost-diff0
(*.f64 x x)
cost-diff0
#s(approx (+ (* x (* x x)) (* x x)) (*.f64 x x))
cost-diff0
(fma.f64 x x x)
cost-diff0
(*.f64 (fma.f64 x x x) x)
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01788
02976
15276
29176
321775
464675
5312075
6731075
0829275
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(*.f64 (fma.f64 x x x) x)
(fma.f64 x x x)
x
#s(approx (+ (* x (* x x)) (* x x)) (*.f64 x x))
(*.f64 x x)
x
(*.f64 (+.f64 #s(literal 1 binary64) x) (*.f64 x x))
(+.f64 #s(literal 1 binary64) x)
#s(literal 1 binary64)
x
(*.f64 x x)
(fma.f64 (*.f64 x x) x (*.f64 x x))
(*.f64 x x)
x
(/.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) (*.f64 x x)) (-.f64 x #s(literal 1 binary64)))
(*.f64 (fma.f64 x x #s(literal -1 binary64)) (*.f64 x x))
(fma.f64 x x #s(literal -1 binary64))
x
#s(literal -1 binary64)
(*.f64 x x)
(-.f64 x #s(literal 1 binary64))
#s(literal 1 binary64)
Outputs
(*.f64 (fma.f64 x x x) x)
(fma.f64 x x x)
x
#s(approx (+ (* x (* x x)) (* x x)) (*.f64 x x))
(*.f64 x x)
x
(*.f64 (+.f64 #s(literal 1 binary64) x) (*.f64 x x))
(*.f64 (fma.f64 x x x) x)
(+.f64 #s(literal 1 binary64) x)
(-.f64 x #s(literal -1 binary64))
#s(literal 1 binary64)
x
(*.f64 x x)
(fma.f64 (*.f64 x x) x (*.f64 x x))
(*.f64 (fma.f64 x x x) x)
(*.f64 x x)
x
(/.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) (*.f64 x x)) (-.f64 x #s(literal 1 binary64)))
(*.f64 (fma.f64 x x x) x)
(*.f64 (fma.f64 x x #s(literal -1 binary64)) (*.f64 x x))
(*.f64 (-.f64 (pow.f64 x #s(literal 3 binary64)) x) x)
(fma.f64 x x #s(literal -1 binary64))
x
#s(literal -1 binary64)
(*.f64 x x)
(-.f64 x #s(literal 1 binary64))
#s(literal 1 binary64)

localize201.0ms (3.8%)

Memory
-31.4MiB live, 58.9MiB allocated
Localize:

Found 13 expressions of interest:

NewMetricScoreProgram
accuracy0
(-.f64 x #s(literal 1 binary64))
accuracy0
(*.f64 x x)
accuracy0.0078125
(*.f64 (fma.f64 x x #s(literal -1 binary64)) (*.f64 x x))
accuracy0.015625
(/.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) (*.f64 x x)) (-.f64 x #s(literal 1 binary64)))
accuracy0
(*.f64 x x)
accuracy0.01171875
(fma.f64 (*.f64 x x) x (*.f64 x x))
accuracy0
(+.f64 #s(literal 1 binary64) x)
accuracy0
(*.f64 x x)
accuracy0.04296875
(*.f64 (+.f64 #s(literal 1 binary64) x) (*.f64 x x))
accuracy0
(*.f64 x x)
accuracy1.930370685833345
#s(approx (+ (* x (* x x)) (* x x)) (*.f64 x x))
accuracy0
(fma.f64 x x x)
accuracy0.01171875
(*.f64 (fma.f64 x x x) x)
Samples
28.0ms256×0valid
Compiler

Compiled 171 to 32 computations (81.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 18.0ms
ival-mult: 9.0ms (49.9% of total)
ival-add: 5.0ms (27.7% of total)
ival-div: 2.0ms (11.1% of total)
ival-sub: 1.0ms (5.5% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series8.0ms (0.2%)

Memory
12.4MiB live, 12.4MiB allocated
Counts
11 → 132
Calls
Call 1
Inputs
#s(alt (*.f64 (fma.f64 x x x) x) (patch (*.f64 (fma.f64 x x x) x) #<representation binary64>) () ())
#s(alt (fma.f64 x x x) (patch (fma.f64 x x x) #<representation binary64>) () ())
#s(alt #s(approx (+ (* x (* x x)) (* x x)) (*.f64 x x)) (patch #s(approx (+ (* x (* x x)) (* x x)) (*.f64 x x)) #<representation binary64>) () ())
#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())
#s(alt (*.f64 (+.f64 #s(literal 1 binary64) x) (*.f64 x x)) (patch (*.f64 (+.f64 #s(literal 1 binary64) x) (*.f64 x x)) #<representation binary64>) () ())
#s(alt (+.f64 #s(literal 1 binary64) x) (patch (+.f64 #s(literal 1 binary64) x) #<representation binary64>) () ())
#s(alt (fma.f64 (*.f64 x x) x (*.f64 x x)) (patch (fma.f64 (*.f64 x x) x (*.f64 x x)) #<representation binary64>) () ())
#s(alt (/.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) (*.f64 x x)) (-.f64 x #s(literal 1 binary64))) (patch (/.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) (*.f64 x x)) (-.f64 x #s(literal 1 binary64))) #<representation binary64>) () ())
#s(alt (fma.f64 x x #s(literal -1 binary64)) (patch (fma.f64 x x #s(literal -1 binary64)) #<representation binary64>) () ())
#s(alt (-.f64 x #s(literal 1 binary64)) (patch (-.f64 x #s(literal 1 binary64)) #<representation binary64>) () ())
#s(alt (*.f64 (fma.f64 x x #s(literal -1 binary64)) (*.f64 x x)) (patch (*.f64 (fma.f64 x x #s(literal -1 binary64)) (*.f64 x x)) #<representation binary64>) () ())
Outputs
#s(alt (pow x 2) (taylor 0 x) (#s(alt (*.f64 (fma.f64 x x x) x) (patch (*.f64 (fma.f64 x x x) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 x)) (taylor 0 x) (#s(alt (*.f64 (fma.f64 x x x) x) (patch (*.f64 (fma.f64 x x x) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 x)) (taylor 0 x) (#s(alt (*.f64 (fma.f64 x x x) x) (patch (*.f64 (fma.f64 x x x) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 x)) (taylor 0 x) (#s(alt (*.f64 (fma.f64 x x x) x) (patch (*.f64 (fma.f64 x x x) x) #<representation binary64>) () ())) ())
#s(alt x (taylor 0 x) (#s(alt (fma.f64 x x x) (patch (fma.f64 x x x) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 x)) (taylor 0 x) (#s(alt (fma.f64 x x x) (patch (fma.f64 x x x) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 x)) (taylor 0 x) (#s(alt (fma.f64 x x x) (patch (fma.f64 x x x) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 x)) (taylor 0 x) (#s(alt (fma.f64 x x x) (patch (fma.f64 x x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor 0 x) (#s(alt #s(approx (+ (* x (* x x)) (* x x)) (*.f64 x x)) (patch #s(approx (+ (* x (* x x)) (* x x)) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 x)) (taylor 0 x) (#s(alt #s(approx (+ (* x (* x x)) (* x x)) (*.f64 x x)) (patch #s(approx (+ (* x (* x x)) (* x x)) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 x)) (taylor 0 x) (#s(alt #s(approx (+ (* x (* x x)) (* x x)) (*.f64 x x)) (patch #s(approx (+ (* x (* x x)) (* x x)) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 x)) (taylor 0 x) (#s(alt #s(approx (+ (* x (* x x)) (* x x)) (*.f64 x x)) (patch #s(approx (+ (* x (* x x)) (* x x)) (*.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 (pow x 2) (taylor 0 x) (#s(alt (*.f64 (+.f64 #s(literal 1 binary64) x) (*.f64 x x)) (patch (*.f64 (+.f64 #s(literal 1 binary64) x) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 x)) (taylor 0 x) (#s(alt (*.f64 (+.f64 #s(literal 1 binary64) x) (*.f64 x x)) (patch (*.f64 (+.f64 #s(literal 1 binary64) x) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 x)) (taylor 0 x) (#s(alt (*.f64 (+.f64 #s(literal 1 binary64) x) (*.f64 x x)) (patch (*.f64 (+.f64 #s(literal 1 binary64) x) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 x)) (taylor 0 x) (#s(alt (*.f64 (+.f64 #s(literal 1 binary64) x) (*.f64 x x)) (patch (*.f64 (+.f64 #s(literal 1 binary64) x) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt 1 (taylor 0 x) (#s(alt (+.f64 #s(literal 1 binary64) x) (patch (+.f64 #s(literal 1 binary64) x) #<representation binary64>) () ())) ())
#s(alt (+ 1 x) (taylor 0 x) (#s(alt (+.f64 #s(literal 1 binary64) x) (patch (+.f64 #s(literal 1 binary64) x) #<representation binary64>) () ())) ())
#s(alt (+ 1 x) (taylor 0 x) (#s(alt (+.f64 #s(literal 1 binary64) x) (patch (+.f64 #s(literal 1 binary64) x) #<representation binary64>) () ())) ())
#s(alt (+ 1 x) (taylor 0 x) (#s(alt (+.f64 #s(literal 1 binary64) x) (patch (+.f64 #s(literal 1 binary64) x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor 0 x) (#s(alt (fma.f64 (*.f64 x x) x (*.f64 x x)) (patch (fma.f64 (*.f64 x x) x (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 x)) (taylor 0 x) (#s(alt (fma.f64 (*.f64 x x) x (*.f64 x x)) (patch (fma.f64 (*.f64 x x) x (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 x)) (taylor 0 x) (#s(alt (fma.f64 (*.f64 x x) x (*.f64 x x)) (patch (fma.f64 (*.f64 x x) x (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 x)) (taylor 0 x) (#s(alt (fma.f64 (*.f64 x x) x (*.f64 x x)) (patch (fma.f64 (*.f64 x x) x (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor 0 x) (#s(alt (/.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) (*.f64 x x)) (-.f64 x #s(literal 1 binary64))) (patch (/.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) (*.f64 x x)) (-.f64 x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 x)) (taylor 0 x) (#s(alt (/.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) (*.f64 x x)) (-.f64 x #s(literal 1 binary64))) (patch (/.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) (*.f64 x x)) (-.f64 x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 x)) (taylor 0 x) (#s(alt (/.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) (*.f64 x x)) (-.f64 x #s(literal 1 binary64))) (patch (/.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) (*.f64 x x)) (-.f64 x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 x)) (taylor 0 x) (#s(alt (/.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) (*.f64 x x)) (-.f64 x #s(literal 1 binary64))) (patch (/.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) (*.f64 x x)) (-.f64 x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt -1 (taylor 0 x) (#s(alt (fma.f64 x x #s(literal -1 binary64)) (patch (fma.f64 x x #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt (- (pow x 2) 1) (taylor 0 x) (#s(alt (fma.f64 x x #s(literal -1 binary64)) (patch (fma.f64 x x #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt (- (pow x 2) 1) (taylor 0 x) (#s(alt (fma.f64 x x #s(literal -1 binary64)) (patch (fma.f64 x x #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt (- (pow x 2) 1) (taylor 0 x) (#s(alt (fma.f64 x x #s(literal -1 binary64)) (patch (fma.f64 x 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 (- x 1) (taylor 0 x) (#s(alt (-.f64 x #s(literal 1 binary64)) (patch (-.f64 x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (- x 1) (taylor 0 x) (#s(alt (-.f64 x #s(literal 1 binary64)) (patch (-.f64 x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (- x 1) (taylor 0 x) (#s(alt (-.f64 x #s(literal 1 binary64)) (patch (-.f64 x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (pow x 2)) (taylor 0 x) (#s(alt (*.f64 (fma.f64 x x #s(literal -1 binary64)) (*.f64 x x)) (patch (*.f64 (fma.f64 x x #s(literal -1 binary64)) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- (pow x 2) 1)) (taylor 0 x) (#s(alt (*.f64 (fma.f64 x x #s(literal -1 binary64)) (*.f64 x x)) (patch (*.f64 (fma.f64 x x #s(literal -1 binary64)) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- (pow x 2) 1)) (taylor 0 x) (#s(alt (*.f64 (fma.f64 x x #s(literal -1 binary64)) (*.f64 x x)) (patch (*.f64 (fma.f64 x x #s(literal -1 binary64)) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- (pow x 2) 1)) (taylor 0 x) (#s(alt (*.f64 (fma.f64 x x #s(literal -1 binary64)) (*.f64 x x)) (patch (*.f64 (fma.f64 x x #s(literal -1 binary64)) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (pow x 3) (taylor inf x) (#s(alt (*.f64 (fma.f64 x x x) x) (patch (*.f64 (fma.f64 x x x) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 3) (+ 1 (/ 1 x))) (taylor inf x) (#s(alt (*.f64 (fma.f64 x x x) x) (patch (*.f64 (fma.f64 x x x) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 3) (+ 1 (/ 1 x))) (taylor inf x) (#s(alt (*.f64 (fma.f64 x x x) x) (patch (*.f64 (fma.f64 x x x) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 3) (+ 1 (/ 1 x))) (taylor inf x) (#s(alt (*.f64 (fma.f64 x x x) x) (patch (*.f64 (fma.f64 x x x) x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt (fma.f64 x x x) (patch (fma.f64 x x x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (/ 1 x))) (taylor inf x) (#s(alt (fma.f64 x x x) (patch (fma.f64 x x x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (/ 1 x))) (taylor inf x) (#s(alt (fma.f64 x x x) (patch (fma.f64 x x x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (/ 1 x))) (taylor inf x) (#s(alt (fma.f64 x x x) (patch (fma.f64 x x x) #<representation binary64>) () ())) ())
#s(alt (pow x 3) (taylor inf x) (#s(alt #s(approx (+ (* x (* x x)) (* x x)) (*.f64 x x)) (patch #s(approx (+ (* x (* x x)) (* x x)) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 3) (+ 1 (/ 1 x))) (taylor inf x) (#s(alt #s(approx (+ (* x (* x x)) (* x x)) (*.f64 x x)) (patch #s(approx (+ (* x (* x x)) (* x x)) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 3) (+ 1 (/ 1 x))) (taylor inf x) (#s(alt #s(approx (+ (* x (* x x)) (* x x)) (*.f64 x x)) (patch #s(approx (+ (* x (* x x)) (* x x)) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 3) (+ 1 (/ 1 x))) (taylor inf x) (#s(alt #s(approx (+ (* x (* x x)) (* x x)) (*.f64 x x)) (patch #s(approx (+ (* x (* x x)) (* x x)) (*.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 3) (taylor inf x) (#s(alt (*.f64 (+.f64 #s(literal 1 binary64) x) (*.f64 x x)) (patch (*.f64 (+.f64 #s(literal 1 binary64) x) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 3) (+ 1 (/ 1 x))) (taylor inf x) (#s(alt (*.f64 (+.f64 #s(literal 1 binary64) x) (*.f64 x x)) (patch (*.f64 (+.f64 #s(literal 1 binary64) x) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 3) (+ 1 (/ 1 x))) (taylor inf x) (#s(alt (*.f64 (+.f64 #s(literal 1 binary64) x) (*.f64 x x)) (patch (*.f64 (+.f64 #s(literal 1 binary64) x) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 3) (+ 1 (/ 1 x))) (taylor inf x) (#s(alt (*.f64 (+.f64 #s(literal 1 binary64) x) (*.f64 x x)) (patch (*.f64 (+.f64 #s(literal 1 binary64) x) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt x (taylor inf x) (#s(alt (+.f64 #s(literal 1 binary64) x) (patch (+.f64 #s(literal 1 binary64) x) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (/ 1 x))) (taylor inf x) (#s(alt (+.f64 #s(literal 1 binary64) x) (patch (+.f64 #s(literal 1 binary64) x) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (/ 1 x))) (taylor inf x) (#s(alt (+.f64 #s(literal 1 binary64) x) (patch (+.f64 #s(literal 1 binary64) x) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (/ 1 x))) (taylor inf x) (#s(alt (+.f64 #s(literal 1 binary64) x) (patch (+.f64 #s(literal 1 binary64) x) #<representation binary64>) () ())) ())
#s(alt (pow x 3) (taylor inf x) (#s(alt (fma.f64 (*.f64 x x) x (*.f64 x x)) (patch (fma.f64 (*.f64 x x) x (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 3) (+ 1 (/ 1 x))) (taylor inf x) (#s(alt (fma.f64 (*.f64 x x) x (*.f64 x x)) (patch (fma.f64 (*.f64 x x) x (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 3) (+ 1 (/ 1 x))) (taylor inf x) (#s(alt (fma.f64 (*.f64 x x) x (*.f64 x x)) (patch (fma.f64 (*.f64 x x) x (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 3) (+ 1 (/ 1 x))) (taylor inf x) (#s(alt (fma.f64 (*.f64 x x) x (*.f64 x x)) (patch (fma.f64 (*.f64 x x) x (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (pow x 3) (taylor inf x) (#s(alt (/.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) (*.f64 x x)) (-.f64 x #s(literal 1 binary64))) (patch (/.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) (*.f64 x x)) (-.f64 x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 3) (+ 1 (/ 1 x))) (taylor inf x) (#s(alt (/.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) (*.f64 x x)) (-.f64 x #s(literal 1 binary64))) (patch (/.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) (*.f64 x x)) (-.f64 x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 3) (+ 1 (/ 1 x))) (taylor inf x) (#s(alt (/.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) (*.f64 x x)) (-.f64 x #s(literal 1 binary64))) (patch (/.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) (*.f64 x x)) (-.f64 x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 3) (+ 1 (/ 1 x))) (taylor inf x) (#s(alt (/.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) (*.f64 x x)) (-.f64 x #s(literal 1 binary64))) (patch (/.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) (*.f64 x x)) (-.f64 x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt (fma.f64 x x #s(literal -1 binary64)) (patch (fma.f64 x x #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- 1 (/ 1 (pow x 2)))) (taylor inf x) (#s(alt (fma.f64 x x #s(literal -1 binary64)) (patch (fma.f64 x x #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- 1 (/ 1 (pow x 2)))) (taylor inf x) (#s(alt (fma.f64 x x #s(literal -1 binary64)) (patch (fma.f64 x x #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- 1 (/ 1 (pow x 2)))) (taylor inf x) (#s(alt (fma.f64 x x #s(literal -1 binary64)) (patch (fma.f64 x 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 4) (taylor inf x) (#s(alt (*.f64 (fma.f64 x x #s(literal -1 binary64)) (*.f64 x x)) (patch (*.f64 (fma.f64 x x #s(literal -1 binary64)) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 4) (- 1 (/ 1 (pow x 2)))) (taylor inf x) (#s(alt (*.f64 (fma.f64 x x #s(literal -1 binary64)) (*.f64 x x)) (patch (*.f64 (fma.f64 x x #s(literal -1 binary64)) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 4) (- 1 (/ 1 (pow x 2)))) (taylor inf x) (#s(alt (*.f64 (fma.f64 x x #s(literal -1 binary64)) (*.f64 x x)) (patch (*.f64 (fma.f64 x x #s(literal -1 binary64)) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 4) (- 1 (/ 1 (pow x 2)))) (taylor inf x) (#s(alt (*.f64 (fma.f64 x x #s(literal -1 binary64)) (*.f64 x x)) (patch (*.f64 (fma.f64 x x #s(literal -1 binary64)) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (pow x 3) (taylor -inf x) (#s(alt (*.f64 (fma.f64 x x x) x) (patch (*.f64 (fma.f64 x x x) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 3) (+ 1 (/ 1 x))) (taylor -inf x) (#s(alt (*.f64 (fma.f64 x x x) x) (patch (*.f64 (fma.f64 x x x) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 3) (+ 1 (/ 1 x))) (taylor -inf x) (#s(alt (*.f64 (fma.f64 x x x) x) (patch (*.f64 (fma.f64 x x x) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 3) (+ 1 (/ 1 x))) (taylor -inf x) (#s(alt (*.f64 (fma.f64 x x x) x) (patch (*.f64 (fma.f64 x x x) x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor -inf x) (#s(alt (fma.f64 x x x) (patch (fma.f64 x x x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (/ 1 x))) (taylor -inf x) (#s(alt (fma.f64 x x x) (patch (fma.f64 x x x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (/ 1 x))) (taylor -inf x) (#s(alt (fma.f64 x x x) (patch (fma.f64 x x x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (/ 1 x))) (taylor -inf x) (#s(alt (fma.f64 x x x) (patch (fma.f64 x x x) #<representation binary64>) () ())) ())
#s(alt (pow x 3) (taylor -inf x) (#s(alt #s(approx (+ (* x (* x x)) (* x x)) (*.f64 x x)) (patch #s(approx (+ (* x (* x x)) (* x x)) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 3) (+ 1 (/ 1 x))) (taylor -inf x) (#s(alt #s(approx (+ (* x (* x x)) (* x x)) (*.f64 x x)) (patch #s(approx (+ (* x (* x x)) (* x x)) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 3) (+ 1 (/ 1 x))) (taylor -inf x) (#s(alt #s(approx (+ (* x (* x x)) (* x x)) (*.f64 x x)) (patch #s(approx (+ (* x (* x x)) (* x x)) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 3) (+ 1 (/ 1 x))) (taylor -inf x) (#s(alt #s(approx (+ (* x (* x x)) (* x x)) (*.f64 x x)) (patch #s(approx (+ (* x (* x x)) (* x x)) (*.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 3) (taylor -inf x) (#s(alt (*.f64 (+.f64 #s(literal 1 binary64) x) (*.f64 x x)) (patch (*.f64 (+.f64 #s(literal 1 binary64) x) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 3) (+ 1 (/ 1 x))) (taylor -inf x) (#s(alt (*.f64 (+.f64 #s(literal 1 binary64) x) (*.f64 x x)) (patch (*.f64 (+.f64 #s(literal 1 binary64) x) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 3) (+ 1 (/ 1 x))) (taylor -inf x) (#s(alt (*.f64 (+.f64 #s(literal 1 binary64) x) (*.f64 x x)) (patch (*.f64 (+.f64 #s(literal 1 binary64) x) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 3) (+ 1 (/ 1 x))) (taylor -inf x) (#s(alt (*.f64 (+.f64 #s(literal 1 binary64) x) (*.f64 x x)) (patch (*.f64 (+.f64 #s(literal 1 binary64) x) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt x (taylor -inf x) (#s(alt (+.f64 #s(literal 1 binary64) x) (patch (+.f64 #s(literal 1 binary64) x) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (/ 1 x))) (taylor -inf x) (#s(alt (+.f64 #s(literal 1 binary64) x) (patch (+.f64 #s(literal 1 binary64) x) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (/ 1 x))) (taylor -inf x) (#s(alt (+.f64 #s(literal 1 binary64) x) (patch (+.f64 #s(literal 1 binary64) x) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (/ 1 x))) (taylor -inf x) (#s(alt (+.f64 #s(literal 1 binary64) x) (patch (+.f64 #s(literal 1 binary64) x) #<representation binary64>) () ())) ())
#s(alt (pow x 3) (taylor -inf x) (#s(alt (fma.f64 (*.f64 x x) x (*.f64 x x)) (patch (fma.f64 (*.f64 x x) x (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 3) (+ 1 (/ 1 x))) (taylor -inf x) (#s(alt (fma.f64 (*.f64 x x) x (*.f64 x x)) (patch (fma.f64 (*.f64 x x) x (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 3) (+ 1 (/ 1 x))) (taylor -inf x) (#s(alt (fma.f64 (*.f64 x x) x (*.f64 x x)) (patch (fma.f64 (*.f64 x x) x (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 3) (+ 1 (/ 1 x))) (taylor -inf x) (#s(alt (fma.f64 (*.f64 x x) x (*.f64 x x)) (patch (fma.f64 (*.f64 x x) x (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (pow x 3) (taylor -inf x) (#s(alt (/.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) (*.f64 x x)) (-.f64 x #s(literal 1 binary64))) (patch (/.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) (*.f64 x x)) (-.f64 x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 3) (+ 1 (/ 1 x))) (taylor -inf x) (#s(alt (/.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) (*.f64 x x)) (-.f64 x #s(literal 1 binary64))) (patch (/.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) (*.f64 x x)) (-.f64 x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 3) (+ 1 (/ 1 x))) (taylor -inf x) (#s(alt (/.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) (*.f64 x x)) (-.f64 x #s(literal 1 binary64))) (patch (/.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) (*.f64 x x)) (-.f64 x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 3) (+ 1 (/ 1 x))) (taylor -inf x) (#s(alt (/.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) (*.f64 x x)) (-.f64 x #s(literal 1 binary64))) (patch (/.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) (*.f64 x x)) (-.f64 x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor -inf x) (#s(alt (fma.f64 x x #s(literal -1 binary64)) (patch (fma.f64 x x #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- 1 (/ 1 (pow x 2)))) (taylor -inf x) (#s(alt (fma.f64 x x #s(literal -1 binary64)) (patch (fma.f64 x x #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- 1 (/ 1 (pow x 2)))) (taylor -inf x) (#s(alt (fma.f64 x x #s(literal -1 binary64)) (patch (fma.f64 x x #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- 1 (/ 1 (pow x 2)))) (taylor -inf x) (#s(alt (fma.f64 x x #s(literal -1 binary64)) (patch (fma.f64 x 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 (* -1 (* x (- (/ 1 x) 1))) (taylor -inf x) (#s(alt (-.f64 x #s(literal 1 binary64)) (patch (-.f64 x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (- (/ 1 x) 1))) (taylor -inf x) (#s(alt (-.f64 x #s(literal 1 binary64)) (patch (-.f64 x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (- (/ 1 x) 1))) (taylor -inf x) (#s(alt (-.f64 x #s(literal 1 binary64)) (patch (-.f64 x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (pow x 4) (taylor -inf x) (#s(alt (*.f64 (fma.f64 x x #s(literal -1 binary64)) (*.f64 x x)) (patch (*.f64 (fma.f64 x x #s(literal -1 binary64)) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 4) (- 1 (/ 1 (pow x 2)))) (taylor -inf x) (#s(alt (*.f64 (fma.f64 x x #s(literal -1 binary64)) (*.f64 x x)) (patch (*.f64 (fma.f64 x x #s(literal -1 binary64)) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 4) (- 1 (/ 1 (pow x 2)))) (taylor -inf x) (#s(alt (*.f64 (fma.f64 x x #s(literal -1 binary64)) (*.f64 x x)) (patch (*.f64 (fma.f64 x x #s(literal -1 binary64)) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 4) (- 1 (/ 1 (pow x 2)))) (taylor -inf x) (#s(alt (*.f64 (fma.f64 x x #s(literal -1 binary64)) (*.f64 x x)) (patch (*.f64 (fma.f64 x x #s(literal -1 binary64)) (*.f64 x x)) #<representation binary64>) () ())) ())
Calls

3 calls:

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

simplify131.0ms (2.5%)

Memory
11.7MiB live, 170.1MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
030651
183651
2164633
3617633
42399633
56328633
08294570
Stop Event
iter limit
node limit
Counts
132 → 127
Calls
Call 1
Inputs
(pow x 2)
(* (pow x 2) (+ 1 x))
(* (pow x 2) (+ 1 x))
(* (pow x 2) (+ 1 x))
x
(* x (+ 1 x))
(* x (+ 1 x))
(* x (+ 1 x))
(pow x 2)
(* (pow x 2) (+ 1 x))
(* (pow x 2) (+ 1 x))
(* (pow x 2) (+ 1 x))
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(* (pow x 2) (+ 1 x))
(* (pow x 2) (+ 1 x))
(* (pow x 2) (+ 1 x))
1
(+ 1 x)
(+ 1 x)
(+ 1 x)
(pow x 2)
(* (pow x 2) (+ 1 x))
(* (pow x 2) (+ 1 x))
(* (pow x 2) (+ 1 x))
(pow x 2)
(* (pow x 2) (+ 1 x))
(* (pow x 2) (+ 1 x))
(* (pow x 2) (+ 1 x))
-1
(- (pow x 2) 1)
(- (pow x 2) 1)
(- (pow x 2) 1)
-1
(- x 1)
(- x 1)
(- x 1)
(* -1 (pow x 2))
(* (pow x 2) (- (pow x 2) 1))
(* (pow x 2) (- (pow x 2) 1))
(* (pow x 2) (- (pow x 2) 1))
(pow x 3)
(* (pow x 3) (+ 1 (/ 1 x)))
(* (pow x 3) (+ 1 (/ 1 x)))
(* (pow x 3) (+ 1 (/ 1 x)))
(pow x 2)
(* (pow x 2) (+ 1 (/ 1 x)))
(* (pow x 2) (+ 1 (/ 1 x)))
(* (pow x 2) (+ 1 (/ 1 x)))
(pow x 3)
(* (pow x 3) (+ 1 (/ 1 x)))
(* (pow x 3) (+ 1 (/ 1 x)))
(* (pow x 3) (+ 1 (/ 1 x)))
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 3)
(* (pow x 3) (+ 1 (/ 1 x)))
(* (pow x 3) (+ 1 (/ 1 x)))
(* (pow x 3) (+ 1 (/ 1 x)))
x
(* x (+ 1 (/ 1 x)))
(* x (+ 1 (/ 1 x)))
(* x (+ 1 (/ 1 x)))
(pow x 3)
(* (pow x 3) (+ 1 (/ 1 x)))
(* (pow x 3) (+ 1 (/ 1 x)))
(* (pow x 3) (+ 1 (/ 1 x)))
(pow x 3)
(* (pow x 3) (+ 1 (/ 1 x)))
(* (pow x 3) (+ 1 (/ 1 x)))
(* (pow x 3) (+ 1 (/ 1 x)))
(pow x 2)
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
x
(* x (- 1 (/ 1 x)))
(* x (- 1 (/ 1 x)))
(* x (- 1 (/ 1 x)))
(pow x 4)
(* (pow x 4) (- 1 (/ 1 (pow x 2))))
(* (pow x 4) (- 1 (/ 1 (pow x 2))))
(* (pow x 4) (- 1 (/ 1 (pow x 2))))
(pow x 3)
(* (pow x 3) (+ 1 (/ 1 x)))
(* (pow x 3) (+ 1 (/ 1 x)))
(* (pow x 3) (+ 1 (/ 1 x)))
(pow x 2)
(* (pow x 2) (+ 1 (/ 1 x)))
(* (pow x 2) (+ 1 (/ 1 x)))
(* (pow x 2) (+ 1 (/ 1 x)))
(pow x 3)
(* (pow x 3) (+ 1 (/ 1 x)))
(* (pow x 3) (+ 1 (/ 1 x)))
(* (pow x 3) (+ 1 (/ 1 x)))
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 3)
(* (pow x 3) (+ 1 (/ 1 x)))
(* (pow x 3) (+ 1 (/ 1 x)))
(* (pow x 3) (+ 1 (/ 1 x)))
x
(* x (+ 1 (/ 1 x)))
(* x (+ 1 (/ 1 x)))
(* x (+ 1 (/ 1 x)))
(pow x 3)
(* (pow x 3) (+ 1 (/ 1 x)))
(* (pow x 3) (+ 1 (/ 1 x)))
(* (pow x 3) (+ 1 (/ 1 x)))
(pow x 3)
(* (pow x 3) (+ 1 (/ 1 x)))
(* (pow x 3) (+ 1 (/ 1 x)))
(* (pow x 3) (+ 1 (/ 1 x)))
(pow x 2)
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
x
(* -1 (* x (- (/ 1 x) 1)))
(* -1 (* x (- (/ 1 x) 1)))
(* -1 (* x (- (/ 1 x) 1)))
(pow x 4)
(* (pow x 4) (- 1 (/ 1 (pow x 2))))
(* (pow x 4) (- 1 (/ 1 (pow x 2))))
(* (pow x 4) (- 1 (/ 1 (pow x 2))))
Outputs
(pow x 2)
(*.f64 x x)
(* (pow x 2) (+ 1 x))
(fma.f64 x x (pow.f64 x #s(literal 3 binary64)))
(* (pow x 2) (+ 1 x))
(fma.f64 x x (pow.f64 x #s(literal 3 binary64)))
(* (pow x 2) (+ 1 x))
(fma.f64 x x (pow.f64 x #s(literal 3 binary64)))
x
(* x (+ 1 x))
(fma.f64 x x x)
(* x (+ 1 x))
(fma.f64 x x x)
(* x (+ 1 x))
(fma.f64 x x x)
(pow x 2)
(*.f64 x x)
(* (pow x 2) (+ 1 x))
(fma.f64 x x (pow.f64 x #s(literal 3 binary64)))
(* (pow x 2) (+ 1 x))
(fma.f64 x x (pow.f64 x #s(literal 3 binary64)))
(* (pow x 2) (+ 1 x))
(fma.f64 x x (pow.f64 x #s(literal 3 binary64)))
(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 x))
(fma.f64 x x (pow.f64 x #s(literal 3 binary64)))
(* (pow x 2) (+ 1 x))
(fma.f64 x x (pow.f64 x #s(literal 3 binary64)))
(* (pow x 2) (+ 1 x))
(fma.f64 x x (pow.f64 x #s(literal 3 binary64)))
1
#s(literal 1 binary64)
(+ 1 x)
(-.f64 x #s(literal -1 binary64))
(+ 1 x)
(-.f64 x #s(literal -1 binary64))
(+ 1 x)
(-.f64 x #s(literal -1 binary64))
(pow x 2)
(*.f64 x x)
(* (pow x 2) (+ 1 x))
(fma.f64 x x (pow.f64 x #s(literal 3 binary64)))
(* (pow x 2) (+ 1 x))
(fma.f64 x x (pow.f64 x #s(literal 3 binary64)))
(* (pow x 2) (+ 1 x))
(fma.f64 x x (pow.f64 x #s(literal 3 binary64)))
(pow x 2)
(*.f64 x x)
(* (pow x 2) (+ 1 x))
(fma.f64 x x (pow.f64 x #s(literal 3 binary64)))
(* (pow x 2) (+ 1 x))
(fma.f64 x x (pow.f64 x #s(literal 3 binary64)))
(* (pow x 2) (+ 1 x))
(fma.f64 x x (pow.f64 x #s(literal 3 binary64)))
-1
#s(literal -1 binary64)
(- (pow x 2) 1)
(fma.f64 x x #s(literal -1 binary64))
(- (pow x 2) 1)
(fma.f64 x x #s(literal -1 binary64))
(- (pow x 2) 1)
(fma.f64 x x #s(literal -1 binary64))
-1
#s(literal -1 binary64)
(- x 1)
(-.f64 x #s(literal 1 binary64))
(- x 1)
(-.f64 x #s(literal 1 binary64))
(- x 1)
(-.f64 x #s(literal 1 binary64))
(* -1 (pow x 2))
(*.f64 (neg.f64 x) x)
(* (pow x 2) (- (pow x 2) 1))
(*.f64 (-.f64 (pow.f64 x #s(literal 3 binary64)) x) x)
(* (pow x 2) (- (pow x 2) 1))
(*.f64 (-.f64 (pow.f64 x #s(literal 3 binary64)) x) x)
(* (pow x 2) (- (pow x 2) 1))
(*.f64 (-.f64 (pow.f64 x #s(literal 3 binary64)) x) x)
(pow x 3)
(pow.f64 x #s(literal 3 binary64))
(* (pow x 3) (+ 1 (/ 1 x)))
(fma.f64 x x (pow.f64 x #s(literal 3 binary64)))
(* (pow x 3) (+ 1 (/ 1 x)))
(fma.f64 x x (pow.f64 x #s(literal 3 binary64)))
(* (pow x 3) (+ 1 (/ 1 x)))
(fma.f64 x x (pow.f64 x #s(literal 3 binary64)))
(pow x 2)
(*.f64 x x)
(* (pow x 2) (+ 1 (/ 1 x)))
(fma.f64 x x x)
(* (pow x 2) (+ 1 (/ 1 x)))
(fma.f64 x x x)
(* (pow x 2) (+ 1 (/ 1 x)))
(fma.f64 x x x)
(pow x 3)
(pow.f64 x #s(literal 3 binary64))
(* (pow x 3) (+ 1 (/ 1 x)))
(fma.f64 x x (pow.f64 x #s(literal 3 binary64)))
(* (pow x 3) (+ 1 (/ 1 x)))
(fma.f64 x x (pow.f64 x #s(literal 3 binary64)))
(* (pow x 3) (+ 1 (/ 1 x)))
(fma.f64 x x (pow.f64 x #s(literal 3 binary64)))
(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 3)
(pow.f64 x #s(literal 3 binary64))
(* (pow x 3) (+ 1 (/ 1 x)))
(fma.f64 x x (pow.f64 x #s(literal 3 binary64)))
(* (pow x 3) (+ 1 (/ 1 x)))
(fma.f64 x x (pow.f64 x #s(literal 3 binary64)))
(* (pow x 3) (+ 1 (/ 1 x)))
(fma.f64 x x (pow.f64 x #s(literal 3 binary64)))
x
(* x (+ 1 (/ 1 x)))
(-.f64 x #s(literal -1 binary64))
(* x (+ 1 (/ 1 x)))
(-.f64 x #s(literal -1 binary64))
(* x (+ 1 (/ 1 x)))
(-.f64 x #s(literal -1 binary64))
(pow x 3)
(pow.f64 x #s(literal 3 binary64))
(* (pow x 3) (+ 1 (/ 1 x)))
(fma.f64 x x (pow.f64 x #s(literal 3 binary64)))
(* (pow x 3) (+ 1 (/ 1 x)))
(fma.f64 x x (pow.f64 x #s(literal 3 binary64)))
(* (pow x 3) (+ 1 (/ 1 x)))
(fma.f64 x x (pow.f64 x #s(literal 3 binary64)))
(pow x 3)
(pow.f64 x #s(literal 3 binary64))
(* (pow x 3) (+ 1 (/ 1 x)))
(fma.f64 x x (pow.f64 x #s(literal 3 binary64)))
(* (pow x 3) (+ 1 (/ 1 x)))
(fma.f64 x x (pow.f64 x #s(literal 3 binary64)))
(* (pow x 3) (+ 1 (/ 1 x)))
(fma.f64 x x (pow.f64 x #s(literal 3 binary64)))
(pow x 2)
(*.f64 x x)
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(fma.f64 x x #s(literal -1 binary64))
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(fma.f64 x x #s(literal -1 binary64))
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(fma.f64 x x #s(literal -1 binary64))
x
(* x (- 1 (/ 1 x)))
(-.f64 x #s(literal 1 binary64))
(* x (- 1 (/ 1 x)))
(-.f64 x #s(literal 1 binary64))
(* x (- 1 (/ 1 x)))
(-.f64 x #s(literal 1 binary64))
(pow x 4)
(pow.f64 x #s(literal 4 binary64))
(* (pow x 4) (- 1 (/ 1 (pow x 2))))
(*.f64 (-.f64 (pow.f64 x #s(literal 3 binary64)) x) x)
(* (pow x 4) (- 1 (/ 1 (pow x 2))))
(*.f64 (-.f64 (pow.f64 x #s(literal 3 binary64)) x) x)
(* (pow x 4) (- 1 (/ 1 (pow x 2))))
(*.f64 (-.f64 (pow.f64 x #s(literal 3 binary64)) x) x)
(pow x 3)
(pow.f64 x #s(literal 3 binary64))
(* (pow x 3) (+ 1 (/ 1 x)))
(fma.f64 x x (pow.f64 x #s(literal 3 binary64)))
(* (pow x 3) (+ 1 (/ 1 x)))
(fma.f64 x x (pow.f64 x #s(literal 3 binary64)))
(* (pow x 3) (+ 1 (/ 1 x)))
(fma.f64 x x (pow.f64 x #s(literal 3 binary64)))
(pow x 2)
(*.f64 x x)
(* (pow x 2) (+ 1 (/ 1 x)))
(fma.f64 x x x)
(* (pow x 2) (+ 1 (/ 1 x)))
(fma.f64 x x x)
(* (pow x 2) (+ 1 (/ 1 x)))
(fma.f64 x x x)
(pow x 3)
(pow.f64 x #s(literal 3 binary64))
(* (pow x 3) (+ 1 (/ 1 x)))
(fma.f64 x x (pow.f64 x #s(literal 3 binary64)))
(* (pow x 3) (+ 1 (/ 1 x)))
(fma.f64 x x (pow.f64 x #s(literal 3 binary64)))
(* (pow x 3) (+ 1 (/ 1 x)))
(fma.f64 x x (pow.f64 x #s(literal 3 binary64)))
(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 3)
(pow.f64 x #s(literal 3 binary64))
(* (pow x 3) (+ 1 (/ 1 x)))
(fma.f64 x x (pow.f64 x #s(literal 3 binary64)))
(* (pow x 3) (+ 1 (/ 1 x)))
(fma.f64 x x (pow.f64 x #s(literal 3 binary64)))
(* (pow x 3) (+ 1 (/ 1 x)))
(fma.f64 x x (pow.f64 x #s(literal 3 binary64)))
x
(* x (+ 1 (/ 1 x)))
(-.f64 x #s(literal -1 binary64))
(* x (+ 1 (/ 1 x)))
(-.f64 x #s(literal -1 binary64))
(* x (+ 1 (/ 1 x)))
(-.f64 x #s(literal -1 binary64))
(pow x 3)
(pow.f64 x #s(literal 3 binary64))
(* (pow x 3) (+ 1 (/ 1 x)))
(fma.f64 x x (pow.f64 x #s(literal 3 binary64)))
(* (pow x 3) (+ 1 (/ 1 x)))
(fma.f64 x x (pow.f64 x #s(literal 3 binary64)))
(* (pow x 3) (+ 1 (/ 1 x)))
(fma.f64 x x (pow.f64 x #s(literal 3 binary64)))
(pow x 3)
(pow.f64 x #s(literal 3 binary64))
(* (pow x 3) (+ 1 (/ 1 x)))
(fma.f64 x x (pow.f64 x #s(literal 3 binary64)))
(* (pow x 3) (+ 1 (/ 1 x)))
(fma.f64 x x (pow.f64 x #s(literal 3 binary64)))
(* (pow x 3) (+ 1 (/ 1 x)))
(fma.f64 x x (pow.f64 x #s(literal 3 binary64)))
(pow x 2)
(*.f64 x x)
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(fma.f64 x x #s(literal -1 binary64))
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(fma.f64 x x #s(literal -1 binary64))
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(fma.f64 x x #s(literal -1 binary64))
x
(* -1 (* x (- (/ 1 x) 1)))
(-.f64 x #s(literal 1 binary64))
(* -1 (* x (- (/ 1 x) 1)))
(-.f64 x #s(literal 1 binary64))
(* -1 (* x (- (/ 1 x) 1)))
(-.f64 x #s(literal 1 binary64))
(pow x 4)
(pow.f64 x #s(literal 4 binary64))
(* (pow x 4) (- 1 (/ 1 (pow x 2))))
(*.f64 (-.f64 (pow.f64 x #s(literal 3 binary64)) x) x)
(* (pow x 4) (- 1 (/ 1 (pow x 2))))
(*.f64 (-.f64 (pow.f64 x #s(literal 3 binary64)) x) x)
(* (pow x 4) (- 1 (/ 1 (pow x 2))))
(*.f64 (-.f64 (pow.f64 x #s(literal 3 binary64)) x) x)

rewrite463.0ms (8.7%)

Memory
-18.0MiB live, 340.9MiB allocated
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01771
02959
110759
272858
0889958
Stop Event
iter limit
node limit
iter limit
Counts
11 → 2 211
Calls
Call 1
Inputs
(*.f64 (fma.f64 x x x) x)
(fma.f64 x x x)
#s(approx (+ (* x (* x x)) (* x x)) (*.f64 x x))
(*.f64 x x)
(*.f64 (+.f64 #s(literal 1 binary64) x) (*.f64 x x))
(+.f64 #s(literal 1 binary64) x)
(fma.f64 (*.f64 x x) x (*.f64 x x))
(/.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) (*.f64 x x)) (-.f64 x #s(literal 1 binary64)))
(fma.f64 x x #s(literal -1 binary64))
(-.f64 x #s(literal 1 binary64))
(*.f64 (fma.f64 x x #s(literal -1 binary64)) (*.f64 x x))
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>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval616.0ms (11.6%)

Memory
54.1MiB live, 577.5MiB allocated
Compiler

Compiled 49 776 to 3 339 computations (93.3% saved)

prune52.0ms (1%)

Memory
-24.9MiB live, 131.2MiB allocated
Pruning

5 alts after pruning (1 fresh and 4 done)

PrunedKeptTotal
New2 44112 442
Fresh000
Picked145
Done000
Total2 44252 447
Accuracy
100.0%
Counts
2 447 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(fma.f64 (*.f64 x x) x (*.f64 x x))
99.8%
(/.f64 x (/.f64 #s(literal 1 binary64) (fma.f64 x x x)))
100.0%
(*.f64 (fma.f64 x x x) x)
99.9%
(*.f64 (+.f64 #s(literal 1 binary64) x) (*.f64 x x))
97.0%
#s(approx (+ (* x (* x x)) (* x x)) (*.f64 x x))
Compiler

Compiled 33 to 19 computations (42.4% saved)

simplify8.0ms (0.2%)

Memory
-31.0MiB live, 7.9MiB allocated
Algorithm
egg-herbie
Localize:

Found 3 expressions of interest:

NewMetricScoreProgram
cost-diff0
(fma.f64 x x x)
cost-diff0
(/.f64 #s(literal 1 binary64) (fma.f64 x x x))
cost-diff1088
(/.f64 x (/.f64 #s(literal 1 binary64) (fma.f64 x x x)))
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0520
0920
11618
23018
35118
47318
511518
614518
715518
817318
918018
018018
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(/.f64 x (/.f64 #s(literal 1 binary64) (fma.f64 x x x)))
x
(/.f64 #s(literal 1 binary64) (fma.f64 x x x))
#s(literal 1 binary64)
(fma.f64 x x x)
Outputs
(/.f64 x (/.f64 #s(literal 1 binary64) (fma.f64 x x x)))
(*.f64 (fma.f64 x x x) x)
x
(/.f64 #s(literal 1 binary64) (fma.f64 x x x))
#s(literal 1 binary64)
(fma.f64 x x x)

localize17.0ms (0.3%)

Memory
25.6MiB live, 25.6MiB allocated
Localize:

Found 3 expressions of interest:

NewMetricScoreProgram
accuracy0
(fma.f64 x x x)
accuracy0.0234375
(/.f64 #s(literal 1 binary64) (fma.f64 x x x))
accuracy0.109375
(/.f64 x (/.f64 #s(literal 1 binary64) (fma.f64 x x x)))
Samples
12.0ms256×0valid
Compiler

Compiled 45 to 13 computations (71.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 7.0ms
ival-div: 3.0ms (44% of total)
ival-mult: 2.0ms (29.4% of total)
ival-add: 1.0ms (14.7% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series2.0ms (0%)

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

3 calls:

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

simplify158.0ms (3%)

Memory
-19.9MiB live, 212.7MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
044256
1118250
2253246
3616240
41842226
55938224
08154206
Stop Event
iter limit
node limit
Counts
36 → 35
Calls
Call 1
Inputs
(pow x 2)
(* (pow x 2) (+ 1 x))
(* (pow x 2) (+ 1 x))
(* (pow x 2) (+ 1 x))
(/ 1 x)
(/ (+ 1 (* -1 x)) x)
(/ (+ 1 (* x (- x 1))) x)
(/ (+ 1 (* x (- (* x (+ 1 (* -1 x))) 1))) x)
x
(* x (+ 1 x))
(* x (+ 1 x))
(* x (+ 1 x))
(pow x 3)
(* (pow x 3) (+ 1 (/ 1 x)))
(* (pow x 3) (+ 1 (/ 1 x)))
(* (pow x 3) (+ 1 (/ 1 x)))
(/ 1 (pow x 2))
(/ (- 1 (/ 1 x)) (pow x 2))
(/ (- (+ 1 (/ 1 (pow x 2))) (/ 1 x)) (pow x 2))
(/ (- (+ 1 (/ 1 (pow x 2))) (+ (/ 1 x) (/ 1 (pow x 3)))) (pow x 2))
(pow x 2)
(* (pow x 2) (+ 1 (/ 1 x)))
(* (pow x 2) (+ 1 (/ 1 x)))
(* (pow x 2) (+ 1 (/ 1 x)))
(pow x 3)
(* (pow x 3) (+ 1 (/ 1 x)))
(* (pow x 3) (+ 1 (/ 1 x)))
(* (pow x 3) (+ 1 (/ 1 x)))
(/ 1 (pow x 2))
(/ (- 1 (/ 1 x)) (pow x 2))
(/ (+ 1 (* -1 (/ (- 1 (/ 1 x)) x))) (pow x 2))
(/ (+ 1 (* -1 (/ (+ 1 (* -1 (/ (- 1 (/ 1 x)) x))) x))) (pow x 2))
(pow x 2)
(* (pow x 2) (+ 1 (/ 1 x)))
(* (pow x 2) (+ 1 (/ 1 x)))
(* (pow x 2) (+ 1 (/ 1 x)))
Outputs
(pow x 2)
(*.f64 x x)
(* (pow x 2) (+ 1 x))
(*.f64 (fma.f64 x x x) x)
(* (pow x 2) (+ 1 x))
(*.f64 (fma.f64 x x x) x)
(* (pow x 2) (+ 1 x))
(*.f64 (fma.f64 x x x) x)
(/ 1 x)
(/.f64 #s(literal 1 binary64) x)
(/ (+ 1 (* -1 x)) x)
(/.f64 (-.f64 #s(literal 1 binary64) x) x)
(/ (+ 1 (* x (- x 1))) x)
(-.f64 x (/.f64 (-.f64 x #s(literal 1 binary64)) x))
(/ (+ 1 (* x (- (* x (+ 1 (* -1 x))) 1))) x)
(*.f64 (-.f64 x #s(literal 1 binary64)) (-.f64 (/.f64 #s(literal -1 binary64) x) x))
x
(* x (+ 1 x))
(fma.f64 x x x)
(* x (+ 1 x))
(fma.f64 x x x)
(* x (+ 1 x))
(fma.f64 x x x)
(pow x 3)
(pow.f64 x #s(literal 3 binary64))
(* (pow x 3) (+ 1 (/ 1 x)))
(*.f64 (fma.f64 x x x) x)
(* (pow x 3) (+ 1 (/ 1 x)))
(*.f64 (fma.f64 x x x) x)
(* (pow x 3) (+ 1 (/ 1 x)))
(*.f64 (fma.f64 x x x) x)
(/ 1 (pow x 2))
(/.f64 (/.f64 #s(literal 1 binary64) x) x)
(/ (- 1 (/ 1 x)) (pow x 2))
(/.f64 (-.f64 x #s(literal 1 binary64)) (pow.f64 x #s(literal 3 binary64)))
(/ (- (+ 1 (/ 1 (pow x 2))) (/ 1 x)) (pow x 2))
(/.f64 (-.f64 x (/.f64 (-.f64 x #s(literal 1 binary64)) x)) (pow.f64 x #s(literal 3 binary64)))
(/ (- (+ 1 (/ 1 (pow x 2))) (+ (/ 1 x) (/ 1 (pow x 3)))) (pow x 2))
(/.f64 (-.f64 x (-.f64 #s(literal 1 binary64) (/.f64 (/.f64 (-.f64 x #s(literal 1 binary64)) x) x))) (pow.f64 x #s(literal 3 binary64)))
(pow x 2)
(*.f64 x x)
(* (pow x 2) (+ 1 (/ 1 x)))
(fma.f64 x x x)
(* (pow x 2) (+ 1 (/ 1 x)))
(fma.f64 x x x)
(* (pow x 2) (+ 1 (/ 1 x)))
(fma.f64 x x x)
(pow x 3)
(pow.f64 x #s(literal 3 binary64))
(* (pow x 3) (+ 1 (/ 1 x)))
(*.f64 (fma.f64 x x x) x)
(* (pow x 3) (+ 1 (/ 1 x)))
(*.f64 (fma.f64 x x x) x)
(* (pow x 3) (+ 1 (/ 1 x)))
(*.f64 (fma.f64 x x x) x)
(/ 1 (pow x 2))
(/.f64 (/.f64 #s(literal 1 binary64) x) x)
(/ (- 1 (/ 1 x)) (pow x 2))
(/.f64 (-.f64 x #s(literal 1 binary64)) (pow.f64 x #s(literal 3 binary64)))
(/ (+ 1 (* -1 (/ (- 1 (/ 1 x)) x))) (pow x 2))
(/.f64 (-.f64 x (/.f64 (-.f64 x #s(literal 1 binary64)) x)) (pow.f64 x #s(literal 3 binary64)))
(/ (+ 1 (* -1 (/ (+ 1 (* -1 (/ (- 1 (/ 1 x)) x))) x))) (pow x 2))
(/.f64 (-.f64 x (-.f64 #s(literal 1 binary64) (/.f64 (/.f64 (-.f64 x #s(literal 1 binary64)) x) x))) (pow.f64 x #s(literal 3 binary64)))
(pow x 2)
(*.f64 x x)
(* (pow x 2) (+ 1 (/ 1 x)))
(fma.f64 x x x)
(* (pow x 2) (+ 1 (/ 1 x)))
(fma.f64 x x x)
(* (pow x 2) (+ 1 (/ 1 x)))
(fma.f64 x x x)

rewrite127.0ms (2.4%)

Memory
14.1MiB live, 164.4MiB allocated
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0518
0918
14516
227916
3275616
0835116
Stop Event
iter limit
node limit
iter limit
Counts
3 → 593
Calls
Call 1
Inputs
(/.f64 x (/.f64 #s(literal 1 binary64) (fma.f64 x x x)))
(/.f64 #s(literal 1 binary64) (fma.f64 x x x))
(fma.f64 x x x)
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>

eval83.0ms (1.6%)

Memory
-5.4MiB live, 123.7MiB allocated
Compiler

Compiled 12 499 to 1 924 computations (84.6% saved)

prune11.0ms (0.2%)

Memory
-4.8MiB live, 33.5MiB allocated
Pruning

5 alts after pruning (1 fresh and 4 done)

PrunedKeptTotal
New6271628
Fresh000
Picked101
Done044
Total6285633
Accuracy
100.0%
Counts
633 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(fma.f64 (*.f64 x x) x (*.f64 x x))
100.0%
(fma.f64 x x (*.f64 (*.f64 (neg.f64 x) x) (neg.f64 x)))
100.0%
(*.f64 (fma.f64 x x x) x)
99.9%
(*.f64 (+.f64 #s(literal 1 binary64) x) (*.f64 x x))
97.0%
#s(approx (+ (* x (* x x)) (* x x)) (*.f64 x x))
Compiler

Compiled 35 to 19 computations (45.7% saved)

simplify11.0ms (0.2%)

Memory
12.3MiB live, 12.3MiB allocated
Algorithm
egg-herbie
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
cost-diff-5568
(*.f64 (*.f64 (neg.f64 x) x) (neg.f64 x))
cost-diff0
(neg.f64 x)
cost-diff0
(*.f64 (neg.f64 x) x)
cost-diff6144
(fma.f64 x x (*.f64 (*.f64 (neg.f64 x) x) (neg.f64 x)))
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0524
01024
12124
24419
311716
426116
540216
646716
046716
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(fma.f64 x x (*.f64 (*.f64 (neg.f64 x) x) (neg.f64 x)))
x
(*.f64 (*.f64 (neg.f64 x) x) (neg.f64 x))
(*.f64 (neg.f64 x) x)
(neg.f64 x)
Outputs
(fma.f64 x x (*.f64 (*.f64 (neg.f64 x) x) (neg.f64 x)))
(*.f64 (fma.f64 x x x) x)
x
(*.f64 (*.f64 (neg.f64 x) x) (neg.f64 x))
(pow.f64 x #s(literal 3 binary64))
(*.f64 (neg.f64 x) x)
(neg.f64 x)

localize22.0ms (0.4%)

Memory
-5.0MiB live, 32.4MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0
(*.f64 (neg.f64 x) x)
accuracy0
(neg.f64 x)
accuracy0.00390625
(fma.f64 x x (*.f64 (*.f64 (neg.f64 x) x) (neg.f64 x)))
accuracy0.05078125
(*.f64 (*.f64 (neg.f64 x) x) (neg.f64 x))
Samples
17.0ms256×0valid
Compiler

Compiled 51 to 13 computations (74.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 11.0ms
ival-mult: 6.0ms (54.6% of total)
ival-add: 3.0ms (27.3% of total)
ival-neg: 1.0ms (9.1% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series4.0ms (0.1%)

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

3 calls:

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

simplify162.0ms (3%)

Memory
-6.0MiB live, 141.8MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
014180
137180
275180
3123180
4358180
51985180
62987180
74723180
87617180
08585171
Stop Event
iter limit
node limit
Counts
48 → 48
Calls
Call 1
Inputs
(pow x 2)
(* (pow x 2) (+ 1 x))
(* (pow x 2) (+ 1 x))
(* (pow x 2) (+ 1 x))
(* -1 (pow x 2))
(* -1 (pow x 2))
(* -1 (pow x 2))
(* -1 (pow x 2))
(* -1 x)
(* -1 x)
(* -1 x)
(* -1 x)
(pow x 3)
(pow x 3)
(pow x 3)
(pow x 3)
(pow x 3)
(* (pow x 3) (+ 1 (/ 1 x)))
(* (pow x 3) (+ 1 (/ 1 x)))
(* (pow x 3) (+ 1 (/ 1 x)))
(* -1 (pow x 2))
(* -1 (pow x 2))
(* -1 (pow x 2))
(* -1 (pow x 2))
(* -1 x)
(* -1 x)
(* -1 x)
(* -1 x)
(pow x 3)
(pow x 3)
(pow x 3)
(pow x 3)
(pow x 3)
(* (pow x 3) (+ 1 (/ 1 x)))
(* (pow x 3) (+ 1 (/ 1 x)))
(* (pow x 3) (+ 1 (/ 1 x)))
(* -1 (pow x 2))
(* -1 (pow x 2))
(* -1 (pow x 2))
(* -1 (pow x 2))
(* -1 x)
(* -1 x)
(* -1 x)
(* -1 x)
(pow x 3)
(pow x 3)
(pow x 3)
(pow x 3)
Outputs
(pow x 2)
(*.f64 x x)
(* (pow x 2) (+ 1 x))
(fma.f64 x x (pow.f64 x #s(literal 3 binary64)))
(* (pow x 2) (+ 1 x))
(fma.f64 x x (pow.f64 x #s(literal 3 binary64)))
(* (pow x 2) (+ 1 x))
(fma.f64 x x (pow.f64 x #s(literal 3 binary64)))
(* -1 (pow x 2))
(*.f64 (neg.f64 x) x)
(* -1 (pow x 2))
(*.f64 (neg.f64 x) x)
(* -1 (pow x 2))
(*.f64 (neg.f64 x) x)
(* -1 (pow x 2))
(*.f64 (neg.f64 x) x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(pow x 3)
(pow.f64 x #s(literal 3 binary64))
(pow x 3)
(pow.f64 x #s(literal 3 binary64))
(pow x 3)
(pow.f64 x #s(literal 3 binary64))
(pow x 3)
(pow.f64 x #s(literal 3 binary64))
(pow x 3)
(pow.f64 x #s(literal 3 binary64))
(* (pow x 3) (+ 1 (/ 1 x)))
(fma.f64 x x (pow.f64 x #s(literal 3 binary64)))
(* (pow x 3) (+ 1 (/ 1 x)))
(fma.f64 x x (pow.f64 x #s(literal 3 binary64)))
(* (pow x 3) (+ 1 (/ 1 x)))
(fma.f64 x x (pow.f64 x #s(literal 3 binary64)))
(* -1 (pow x 2))
(*.f64 (neg.f64 x) x)
(* -1 (pow x 2))
(*.f64 (neg.f64 x) x)
(* -1 (pow x 2))
(*.f64 (neg.f64 x) x)
(* -1 (pow x 2))
(*.f64 (neg.f64 x) x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(pow x 3)
(pow.f64 x #s(literal 3 binary64))
(pow x 3)
(pow.f64 x #s(literal 3 binary64))
(pow x 3)
(pow.f64 x #s(literal 3 binary64))
(pow x 3)
(pow.f64 x #s(literal 3 binary64))
(pow x 3)
(pow.f64 x #s(literal 3 binary64))
(* (pow x 3) (+ 1 (/ 1 x)))
(fma.f64 x x (pow.f64 x #s(literal 3 binary64)))
(* (pow x 3) (+ 1 (/ 1 x)))
(fma.f64 x x (pow.f64 x #s(literal 3 binary64)))
(* (pow x 3) (+ 1 (/ 1 x)))
(fma.f64 x x (pow.f64 x #s(literal 3 binary64)))
(* -1 (pow x 2))
(*.f64 (neg.f64 x) x)
(* -1 (pow x 2))
(*.f64 (neg.f64 x) x)
(* -1 (pow x 2))
(*.f64 (neg.f64 x) x)
(* -1 (pow x 2))
(*.f64 (neg.f64 x) x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(pow x 3)
(pow.f64 x #s(literal 3 binary64))
(pow x 3)
(pow.f64 x #s(literal 3 binary64))
(pow x 3)
(pow.f64 x #s(literal 3 binary64))
(pow x 3)
(pow.f64 x #s(literal 3 binary64))

rewrite128.0ms (2.4%)

Memory
10.4MiB live, 131.0MiB allocated
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0523
01023
13623
223115
3229713
0952413
Stop Event
iter limit
node limit
iter limit
Counts
4 → 411
Calls
Call 1
Inputs
(fma.f64 x x (*.f64 (*.f64 (neg.f64 x) x) (neg.f64 x)))
(*.f64 (neg.f64 x) x)
(neg.f64 x)
(*.f64 (*.f64 (neg.f64 x) x) (neg.f64 x))
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>

eval55.0ms (1%)

Memory
17.6MiB live, 89.7MiB allocated
Compiler

Compiled 10 373 to 1 313 computations (87.3% saved)

prune13.0ms (0.2%)

Memory
-20.4MiB live, 30.2MiB allocated
Pruning

4 alts after pruning (1 fresh and 3 done)

PrunedKeptTotal
New5141515
Fresh000
Picked101
Done134
Total5164520
Accuracy
100.0%
Counts
520 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(fma.f64 x x (*.f64 (*.f64 x x) x))
100.0%
(*.f64 (fma.f64 x x x) x)
99.9%
(*.f64 (+.f64 #s(literal 1 binary64) x) (*.f64 x x))
97.0%
#s(approx (+ (* x (* x x)) (* x x)) (*.f64 x x))
Compiler

Compiled 97 to 39 computations (59.8% saved)

regimes6.0ms (0.1%)

Memory
10.9MiB live, 10.9MiB allocated
Counts
9 → 1
Calls
Call 1
Inputs
#s(approx (+ (* x (* x x)) (* x x)) (*.f64 x x))
(*.f64 (fma.f64 x x x) x)
(*.f64 (+.f64 #s(literal 1 binary64) x) (*.f64 x x))
(fma.f64 x x (*.f64 (*.f64 x x) x))
(fma.f64 (*.f64 x x) x (*.f64 x x))
(+.f64 (*.f64 x (*.f64 x x)) (*.f64 x x))
(fma.f64 x x (*.f64 (*.f64 (neg.f64 x) x) (neg.f64 x)))
(/.f64 x (/.f64 #s(literal 1 binary64) (fma.f64 x x x)))
(/.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) (*.f64 x x)) (-.f64 x #s(literal 1 binary64)))
Outputs
(fma.f64 x x (*.f64 (*.f64 x x) x))
Calls

2 calls:

3.0ms
x
3.0ms
(+.f64 (*.f64 x (*.f64 x x)) (*.f64 x x))
Results
AccuracySegmentsBranch
100.0%1x
100.0%1(+.f64 (*.f64 x (*.f64 x x)) (*.f64 x x))
Compiler

Compiled 10 to 5 computations (50% saved)

regimes3.0ms (0.1%)

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

2 calls:

2.0ms
x
2.0ms
(+.f64 (*.f64 x (*.f64 x x)) (*.f64 x x))
Results
AccuracySegmentsBranch
100.0%1x
100.0%1(+.f64 (*.f64 x (*.f64 x x)) (*.f64 x x))
Compiler

Compiled 10 to 5 computations (50% saved)

regimes4.0ms (0.1%)

Memory
-33.9MiB live, 5.2MiB allocated
Accuracy

Total 0.0b remaining (0%)

Threshold costs 0b (0%)

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

2 calls:

2.0ms
x
1.0ms
(+.f64 (*.f64 x (*.f64 x x)) (*.f64 x x))
Results
AccuracySegmentsBranch
97.0%1x
97.0%1(+.f64 (*.f64 x (*.f64 x x)) (*.f64 x x))
Compiler

Compiled 10 to 5 computations (50% saved)

simplify123.0ms (2.3%)

Memory
22.3MiB live, 60.6MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01025
12125
22925
33825
44625
55825
66425
77225
88625
915725
10132425
11221525
12283525
13366525
14490325
15700025
16778325
17798425
Stop Event
node limit
Calls
Call 1
Inputs
(fma.f64 x x (*.f64 (*.f64 x x) x))
(*.f64 (fma.f64 x x x) x)
#s(approx (+ (* x (* x x)) (* x x)) (*.f64 x x))
Outputs
(fma.f64 x x (*.f64 (*.f64 x x) x))
(*.f64 (fma.f64 x x x) x)
#s(approx (+ (* x (* x x)) (* x x)) (*.f64 x x))

soundness819.0ms (15.4%)

Memory
-9.0MiB live, 393.8MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0518
0918
14516
227916
3275616
0835116
0523
01023
13623
223115
3229713
0952413
011144
130144
264144
3103144
4286144
51327144
62336144
73178144
83901144
94727144
105070144
115335144
125547144
135767144
145850144
156640144
167717144
08019135
01771
02959
110759
272858
0889958
0417
0713
13013
219913
3178013
0847912
Stop Event
fuel
iter limit
node limit
iter limit
iter limit
node limit
iter limit
iter limit
node limit
iter limit
node limit
iter limit
iter limit
node limit
iter limit
Compiler

Compiled 93 to 41 computations (55.9% saved)

preprocess167.0ms (3.1%)

Memory
-6.7MiB live, 69.5MiB allocated
Compiler

Compiled 68 to 32 computations (52.9% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...