Expression 3, p15

Time bar (total: 4.9s)

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)

sample667.0ms (13.6%)

Memory
31.0MiB live, 1 036.3MiB allocated
Samples
426.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 258.0ms
ival-mult: 125.0ms (48.5% of total)
ival-<=: 69.0ms (26.8% of total)
ival-add: 39.0ms (15.1% of total)
ival-and: 11.0ms (4.3% of total)
exact: 11.0ms (4.3% of total)
ival-assert: 3.0ms (1.2% of total)
Bogosity

explain59.0ms (1.2%)

Memory
12.5MiB live, 93.1MiB 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
20.0ms512×0valid
Compiler

Compiled 85 to 24 computations (71.8% saved)

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

preprocess19.0ms (0.4%)

Memory
-16.3MiB live, 21.1MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0617
13114
211314
330914
441814
542214
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.3MiB live, 0.3MiB allocated
Compiler

Compiled 0 to 1 computations (-∞% saved)

prune0.0ms (0%)

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

Compiled 9 to 4 computations (55.6% saved)

simplify3.0ms (0.1%)

Memory
4.5MiB live, 4.5MiB 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)

localize14.0ms (0.3%)

Memory
22.6MiB live, 22.6MiB 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
10.0ms256×0valid
Compiler

Compiled 38 to 10 computations (73.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 5.0ms
ival-mult: 3.0ms (63.6% of total)
ival-add: 1.0ms (21.2% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series6.0ms (0.1%)

Memory
-30.7MiB live, 6.7MiB 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
@0
((+ (* 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
@inf
((+ (* x (* x x)) (* x x)) (* x x) (* x (* x x)))

simplify167.0ms (3.4%)

Memory
4.0MiB live, 122.6MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
011144
130144
264144
3103144
4286144
51326144
62335144
73183144
83904144
94731144
105074144
115337144
125549144
135769144
145852144
156642144
167744144
08032135
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))

rewrite169.0ms (3.5%)

Memory
39.6MiB live, 225.4MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0417
0713
13013
219913
3176813
0845012
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>

eval31.0ms (0.6%)

Memory
-30.2MiB live, 54.3MiB allocated
Compiler

Compiled 6 488 to 692 computations (89.3% saved)

prune6.0ms (0.1%)

Memory
21.2MiB live, 21.2MiB 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)

simplify408.0ms (8.3%)

Memory
19.1MiB live, 241.2MiB 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
463075
5305375
6724575
0822775
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)

localize112.0ms (2.3%)

Memory
-24.1MiB live, 137.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
98.0ms256×0valid
Compiler

Compiled 171 to 32 computations (81.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 87.0ms
ival-div: 58.0ms (66.7% of total)
ival-mult: 22.0ms (25.3% of total)
ival-add: 6.0ms (6.9% of total)
ival-sub: 1.0ms (1.1% 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
24.8MiB live, 24.8MiB 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)))

simplify289.0ms (5.9%)

Memory
6.1MiB live, 152.3MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
030651
183651
2164633
3615633
42345633
56306633
08278570
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)

rewrite489.0ms (10%)

Memory
2.5MiB live, 322.5MiB allocated
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01771
02959
110759
272858
0879758
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>

eval633.0ms (12.9%)

Memory
14.3MiB live, 485.4MiB allocated
Compiler

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

prune90.0ms (1.8%)

Memory
0.4MiB live, 160.8MiB 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)

simplify9.0ms (0.2%)

Memory
-23.8MiB live, 13.3MiB 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
614718
715718
817518
918218
018218
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)

localize30.0ms (0.6%)

Memory
-88.4MiB live, 39.3MiB 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.1% 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
1.8MiB live, 1.8MiB 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
0.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))

simplify202.0ms (4.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
044256
1118250
2251246
3612240
41820226
55807226
08351207
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 (-.f64 #s(literal 1 binary64) x) x) (fma.f64 x x #s(literal 1 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 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)

rewrite129.0ms (2.6%)

Memory
-14.8MiB live, 219.0MiB allocated
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0518
0918
14516
227916
3271416
0831416
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>

eval99.0ms (2%)

Memory
-7.3MiB live, 109.7MiB allocated
Compiler

Compiled 12 500 to 1 922 computations (84.6% saved)

prune9.0ms (0.2%)

Memory
35.0MiB live, 35.0MiB 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)

simplify13.0ms (0.3%)

Memory
-27.3MiB live, 10.8MiB 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
311516
423516
537716
642716
042716
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)

localize19.0ms (0.4%)

Memory
30.4MiB live, 30.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
13.0ms256×0valid
Compiler

Compiled 51 to 13 computations (74.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 8.0ms
ival-mult: 5.0ms (65.1% of total)
ival-add: 1.0ms (13% of total)
ival-neg: 1.0ms (13% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series7.0ms (0.1%)

Memory
-27.6MiB live, 8.6MiB 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
4.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)))

simplify165.0ms (3.4%)

Memory
1.6MiB live, 127.9MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
014180
137180
275180
3123180
4358180
51976180
62968180
74681180
87590180
08558171
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))

rewrite140.0ms (2.8%)

Memory
14.1MiB live, 130.0MiB allocated
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0523
01023
13623
223115
3232313
0955813
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>

eval61.0ms (1.2%)

Memory
17.1MiB live, 87.7MiB allocated
Compiler

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

prune14.0ms (0.3%)

Memory
-24.0MiB live, 27.7MiB 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.0MiB live, 10.0MiB 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
8.4MiB live, 8.4MiB 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
1.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
-30.0MiB live, 7.9MiB 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
(+.f64 (*.f64 x (*.f64 x x)) (*.f64 x x))
1.0ms
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)

simplify24.0ms (0.5%)

Memory
26.2MiB live, 62.6MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01027
11227
Stop Event
saturated
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))

soundness718.0ms (14.7%)

Memory
7.0MiB live, 625.5MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01771
02959
110759
272858
0879758
011144
130144
264144
3103144
4286144
51326144
62335144
73183144
83904144
94731144
105074144
115337144
125549144
135769144
145852144
156642144
167744144
08032135
0417
0713
13013
219913
3176813
0845012
0523
01023
13623
223115
3232313
0955813
0518
0918
14516
227916
3271416
0831416
Stop Event
fuel
iter limit
node limit
iter limit
iter limit
node limit
iter limit
iter limit
node limit
iter limit
iter limit
node limit
iter limit
node limit
iter limit
Compiler

Compiled 93 to 41 computations (55.9% saved)

preprocess71.0ms (1.5%)

Memory
-12.1MiB live, 66.9MiB allocated
Compiler

Compiled 68 to 32 computations (52.9% saved)

end0.0ms (0%)

Memory
0.1MiB live, 0.0MiB allocated

Profiling

Loading profile data...