Diagrams.Tangent:$catParam from diagrams-lib-1.3.0.3, D

Time bar (total: 5.8s)

start0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

analyze0.0ms (0%)

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

Compiled 15 to 12 computations (20% saved)

sample1.1s (18.1%)

Memory
47.8MiB live, 1 246.8MiB allocated
Samples
747.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 428.0ms
ival-mult: 264.0ms (61.6% of total)
ival-add: 106.0ms (24.7% of total)
ival-sub: 40.0ms (9.3% of total)
exact: 11.0ms (2.6% of total)
ival-true: 5.0ms (1.2% of total)
ival-assert: 3.0ms (0.7% of total)
Bogosity

explain225.0ms (3.8%)

Memory
-33.8MiB live, 193.4MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
00-0-(*.f64 (*.f64 x #s(literal 3 binary64)) x)
00-0-(+.f64 (-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64))) #s(literal 1 binary64))
00-0-#s(literal 1 binary64)
00-0-#s(literal 3 binary64)
00-0-#s(literal 4 binary64)
00-0-(*.f64 x #s(literal 3 binary64))
00-0-(*.f64 x #s(literal 4 binary64))
00-0-(*.f64 #s(literal 3 binary64) (+.f64 (-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64))) #s(literal 1 binary64)))
00-0-x
00-0-(-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64)))
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
50.0ms512×0valid
Compiler

Compiled 161 to 44 computations (72.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 18.0ms
ival-mult: 12.0ms (65.4% of total)
ival-sub: 2.0ms (10.9% of total)
ival-add: 2.0ms (10.9% of total)
exact: 1.0ms (5.4% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess96.0ms (1.6%)

Memory
19.2MiB live, 93.1MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01230
15024
215422
349818
4111418
5143218
6149318
7150018
8150018
9150418
01013
01613
13711
27111
31589
42739
53779
65899
79349
812309
913039
1013409
1113469
1213469
013467
Stop Event
iter limit
saturated
iter limit
saturated
Calls
Call 1
Inputs
(*.f64 #s(literal 3 binary64) (+.f64 (-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64))) #s(literal 1 binary64)))
Outputs
(fma.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x #s(literal 3 binary64))
Compiler

Compiled 13 to 10 computations (23.1% saved)

eval0.0ms (0%)

Memory
0.5MiB live, 0.5MiB allocated
Compiler

Compiled 0 to 1 computations (-∞% saved)

prune1.0ms (0%)

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

Compiled 13 to 10 computations (23.1% saved)

simplify50.0ms (0.9%)

Memory
0.2MiB live, 36.5MiB allocated
Algorithm
egg-herbie
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 (*.f64 x #s(literal 3 binary64)) x)
cost-diff128
(+.f64 (-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64))) #s(literal 1 binary64))
cost-diff320
(*.f64 #s(literal 3 binary64) (+.f64 (-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64))) #s(literal 1 binary64)))
cost-diff448
(-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01048
01648
13742
27142
315840
427340
537740
658940
793440
8123040
9130340
10134040
11134640
12134640
0134635
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(*.f64 #s(literal 3 binary64) (+.f64 (-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64))) #s(literal 1 binary64)))
#s(literal 3 binary64)
(+.f64 (-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64))) #s(literal 1 binary64))
(-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64)))
(*.f64 (*.f64 x #s(literal 3 binary64)) x)
(*.f64 x #s(literal 3 binary64))
x
(*.f64 x #s(literal 4 binary64))
#s(literal 4 binary64)
#s(literal 1 binary64)
Outputs
(fma.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x #s(literal 3 binary64))
#s(literal 3 binary64)
(fma.f64 (fma.f64 x #s(literal 3 binary64) #s(literal -4 binary64)) x #s(literal 1 binary64))
(*.f64 (fma.f64 x #s(literal 3 binary64) #s(literal -4 binary64)) x)
(*.f64 (*.f64 x #s(literal 3 binary64)) x)
(*.f64 x #s(literal 3 binary64))
x
(*.f64 #s(literal 4 binary64) x)
#s(literal 4 binary64)
#s(literal 1 binary64)

localize38.0ms (0.6%)

Memory
-0.9MiB live, 78.1MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0
(*.f64 x #s(literal 3 binary64))
accuracy0.0078125
(-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64)))
accuracy0.0546875
(*.f64 #s(literal 3 binary64) (+.f64 (-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64))) #s(literal 1 binary64)))
accuracy0.12109375
(*.f64 (*.f64 x #s(literal 3 binary64)) x)
Samples
30.0ms256×0valid
Compiler

Compiled 98 to 22 computations (77.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 9.0ms
ival-mult: 6.0ms (67.8% of total)
ival-sub: 1.0ms (11.3% of total)
ival-add: 1.0ms (11.3% 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.1%)

Memory
-18.5MiB live, 18.8MiB allocated
Counts
5 → 60
Calls
Call 1
Inputs
#s(alt #<batchref> (patch (-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64))) #<representation binary64>) () ())
#s(alt #<batchref> (patch (*.f64 #s(literal 3 binary64) (+.f64 (-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64))) #s(literal 1 binary64))) #<representation binary64>) () ())
#s(alt #<batchref> (patch (+.f64 (-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64))) #s(literal 1 binary64)) #<representation binary64>) () ())
#s(alt #<batchref> (patch (*.f64 (*.f64 x #s(literal 3 binary64)) x) #<representation binary64>) () ())
#s(alt #<batchref> (patch (*.f64 x #s(literal 3 binary64)) #<representation binary64>) () ())
Outputs
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 #s(literal 3 binary64) (+.f64 (-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64))) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 #s(literal 3 binary64) (+.f64 (-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64))) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 #s(literal 3 binary64) (+.f64 (-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64))) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 #s(literal 3 binary64) (+.f64 (-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64))) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (+.f64 (-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64))) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (+.f64 (-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64))) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (+.f64 (-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64))) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (+.f64 (-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64))) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 (*.f64 x #s(literal 3 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 (*.f64 x #s(literal 3 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 (*.f64 x #s(literal 3 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 (*.f64 x #s(literal 3 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 x #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 x #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 x #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 x #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal 3 binary64) (+.f64 (-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64))) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal 3 binary64) (+.f64 (-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64))) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal 3 binary64) (+.f64 (-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64))) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal 3 binary64) (+.f64 (-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64))) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (+.f64 (-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64))) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (+.f64 (-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64))) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (+.f64 (-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64))) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (+.f64 (-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64))) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 (*.f64 x #s(literal 3 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 (*.f64 x #s(literal 3 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 (*.f64 x #s(literal 3 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 (*.f64 x #s(literal 3 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 x #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 x #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 x #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 x #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal 3 binary64) (+.f64 (-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64))) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal 3 binary64) (+.f64 (-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64))) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal 3 binary64) (+.f64 (-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64))) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal 3 binary64) (+.f64 (-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64))) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (+.f64 (-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64))) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (+.f64 (-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64))) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (+.f64 (-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64))) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (+.f64 (-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64))) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 (*.f64 x #s(literal 3 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 (*.f64 x #s(literal 3 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 (*.f64 x #s(literal 3 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 (*.f64 x #s(literal 3 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 x #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 x #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 x #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 x #s(literal 3 binary64)) #<representation binary64>) () ())) ())
Calls

3 calls:

TimeVariablePointExpression
3.0ms
x
@-inf
((- (* (* x 3) x) (* x 4)) (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (+ (- (* (* x 3) x) (* x 4)) 1) (* (* x 3) x) (* x 3))
2.0ms
x
@inf
((- (* (* x 3) x) (* x 4)) (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (+ (- (* (* x 3) x) (* x 4)) 1) (* (* x 3) x) (* x 3))
1.0ms
x
@0
((- (* (* x 3) x) (* x 4)) (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (+ (- (* (* x 3) x) (* x 4)) 1) (* (* x 3) x) (* x 3))

simplify112.0ms (1.9%)

Memory
26.8MiB live, 179.5MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
051344
1137344
2323344
3756344
41962340
54238340
65965340
77680340
08020301
Stop Event
iter limit
node limit
Counts
60 → 60
Calls
Call 1
Inputs
(* -4 x)
(* x (- (* 3 x) 4))
(* x (- (* 3 x) 4))
(* x (- (* 3 x) 4))
3
(+ 3 (* -12 x))
(+ 3 (* x (- (* 9 x) 12)))
(+ 3 (* x (- (* 9 x) 12)))
1
(+ 1 (* -4 x))
(+ 1 (* x (- (* 3 x) 4)))
(+ 1 (* x (- (* 3 x) 4)))
(* 3 (pow x 2))
(* 3 (pow x 2))
(* 3 (pow x 2))
(* 3 (pow x 2))
(* 3 x)
(* 3 x)
(* 3 x)
(* 3 x)
(* 3 (pow x 2))
(* (pow x 2) (- 3 (* 4 (/ 1 x))))
(* (pow x 2) (- 3 (* 4 (/ 1 x))))
(* (pow x 2) (- 3 (* 4 (/ 1 x))))
(* 9 (pow x 2))
(* (pow x 2) (- 9 (* 12 (/ 1 x))))
(* (pow x 2) (- (+ 9 (/ 3 (pow x 2))) (* 12 (/ 1 x))))
(* (pow x 2) (- (+ 9 (/ 3 (pow x 2))) (* 12 (/ 1 x))))
(* 3 (pow x 2))
(* (pow x 2) (- 3 (* 4 (/ 1 x))))
(* (pow x 2) (- (+ 3 (/ 1 (pow x 2))) (* 4 (/ 1 x))))
(* (pow x 2) (- (+ 3 (/ 1 (pow x 2))) (* 4 (/ 1 x))))
(* 3 (pow x 2))
(* 3 (pow x 2))
(* 3 (pow x 2))
(* 3 (pow x 2))
(* 3 x)
(* 3 x)
(* 3 x)
(* 3 x)
(* 3 (pow x 2))
(* (pow x 2) (- 3 (* 4 (/ 1 x))))
(* (pow x 2) (- 3 (* 4 (/ 1 x))))
(* (pow x 2) (- 3 (* 4 (/ 1 x))))
(* 9 (pow x 2))
(* (pow x 2) (- 9 (* 12 (/ 1 x))))
(* (pow x 2) (+ 9 (* -1 (/ (- 12 (* 3 (/ 1 x))) x))))
(* (pow x 2) (+ 9 (* -1 (/ (- 12 (* 3 (/ 1 x))) x))))
(* 3 (pow x 2))
(* (pow x 2) (- 3 (* 4 (/ 1 x))))
(* (pow x 2) (+ 3 (* -1 (/ (- 4 (/ 1 x)) x))))
(* (pow x 2) (+ 3 (* -1 (/ (- 4 (/ 1 x)) x))))
(* 3 (pow x 2))
(* 3 (pow x 2))
(* 3 (pow x 2))
(* 3 (pow x 2))
(* 3 x)
(* 3 x)
(* 3 x)
(* 3 x)
Outputs
(*.f64 #s(literal -4 binary64) x)
(*.f64 (fma.f64 #s(literal 3 binary64) x #s(literal -4 binary64)) x)
(*.f64 (fma.f64 #s(literal 3 binary64) x #s(literal -4 binary64)) x)
(*.f64 (fma.f64 #s(literal 3 binary64) x #s(literal -4 binary64)) x)
#s(literal 3 binary64)
(fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64))
(fma.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x #s(literal 3 binary64))
(fma.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x #s(literal 3 binary64))
#s(literal 1 binary64)
(fma.f64 #s(literal -4 binary64) x #s(literal 1 binary64))
(fma.f64 (fma.f64 #s(literal 3 binary64) x #s(literal -4 binary64)) x #s(literal 1 binary64))
(fma.f64 (fma.f64 #s(literal 3 binary64) x #s(literal -4 binary64)) x #s(literal 1 binary64))
(*.f64 (*.f64 x x) #s(literal 3 binary64))
(*.f64 (*.f64 x x) #s(literal 3 binary64))
(*.f64 (*.f64 x x) #s(literal 3 binary64))
(*.f64 (*.f64 x x) #s(literal 3 binary64))
(*.f64 #s(literal 3 binary64) x)
(*.f64 #s(literal 3 binary64) x)
(*.f64 #s(literal 3 binary64) x)
(*.f64 #s(literal 3 binary64) x)
(*.f64 (*.f64 x x) #s(literal 3 binary64))
(*.f64 (fma.f64 #s(literal 3 binary64) x #s(literal -4 binary64)) x)
(*.f64 (fma.f64 #s(literal 3 binary64) x #s(literal -4 binary64)) x)
(*.f64 (fma.f64 #s(literal 3 binary64) x #s(literal -4 binary64)) x)
(*.f64 (*.f64 x x) #s(literal 9 binary64))
(*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x)
(fma.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x #s(literal 3 binary64))
(fma.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x #s(literal 3 binary64))
(*.f64 (*.f64 x x) #s(literal 3 binary64))
(*.f64 (fma.f64 #s(literal 3 binary64) x #s(literal -4 binary64)) x)
(fma.f64 (fma.f64 #s(literal 3 binary64) x #s(literal -4 binary64)) x #s(literal 1 binary64))
(fma.f64 (fma.f64 #s(literal 3 binary64) x #s(literal -4 binary64)) x #s(literal 1 binary64))
(*.f64 (*.f64 x x) #s(literal 3 binary64))
(*.f64 (*.f64 x x) #s(literal 3 binary64))
(*.f64 (*.f64 x x) #s(literal 3 binary64))
(*.f64 (*.f64 x x) #s(literal 3 binary64))
(*.f64 #s(literal 3 binary64) x)
(*.f64 #s(literal 3 binary64) x)
(*.f64 #s(literal 3 binary64) x)
(*.f64 #s(literal 3 binary64) x)
(*.f64 (*.f64 x x) #s(literal 3 binary64))
(*.f64 (fma.f64 #s(literal 3 binary64) x #s(literal -4 binary64)) x)
(*.f64 (fma.f64 #s(literal 3 binary64) x #s(literal -4 binary64)) x)
(*.f64 (fma.f64 #s(literal 3 binary64) x #s(literal -4 binary64)) x)
(*.f64 (*.f64 x x) #s(literal 9 binary64))
(*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x)
(fma.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x #s(literal 3 binary64))
(fma.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x #s(literal 3 binary64))
(*.f64 (*.f64 x x) #s(literal 3 binary64))
(*.f64 (fma.f64 #s(literal 3 binary64) x #s(literal -4 binary64)) x)
(fma.f64 (fma.f64 #s(literal 3 binary64) x #s(literal -4 binary64)) x #s(literal 1 binary64))
(fma.f64 (fma.f64 #s(literal 3 binary64) x #s(literal -4 binary64)) x #s(literal 1 binary64))
(*.f64 (*.f64 x x) #s(literal 3 binary64))
(*.f64 (*.f64 x x) #s(literal 3 binary64))
(*.f64 (*.f64 x x) #s(literal 3 binary64))
(*.f64 (*.f64 x x) #s(literal 3 binary64))
(*.f64 #s(literal 3 binary64) x)
(*.f64 #s(literal 3 binary64) x)
(*.f64 #s(literal 3 binary64) x)
(*.f64 #s(literal 3 binary64) x)

rewrite327.0ms (5.6%)

Memory
-15.1MiB live, 344.9MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01041
01641
16135
245135
3737135
0860830
Stop Event
iter limit
node limit
iter limit
Counts
5 → 343
Calls
Call 1
Inputs
(-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64)))
(*.f64 #s(literal 3 binary64) (+.f64 (-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64))) #s(literal 1 binary64)))
(+.f64 (-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64))) #s(literal 1 binary64))
(*.f64 (*.f64 x #s(literal 3 binary64)) x)
(*.f64 x #s(literal 3 binary64))
Outputs
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval76.0ms (1.3%)

Memory
0.4MiB live, 115.7MiB allocated
Compiler

Compiled 11 002 to 1 178 computations (89.3% saved)

prune42.0ms (0.7%)

Memory
19.4MiB live, 53.3MiB allocated
Pruning

9 alts after pruning (9 fresh and 0 done)

PrunedKeptTotal
New3949403
Fresh000
Picked101
Done000
Total3959404
Accuracy
100.0%
Counts
404 → 9
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.9%
(fma.f64 (*.f64 x x) #s(literal 9 binary64) (fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64)))
99.9%
(fma.f64 (*.f64 #s(literal 3 binary64) x) (fma.f64 #s(literal 3 binary64) x #s(literal -4 binary64)) #s(literal 3 binary64))
55.0%
(*.f64 #s(literal 3 binary64) #s(approx (+ (- (* (* x 3) x) (* x 4)) 1) (fma.f64 #s(literal -4 binary64) x #s(literal 1 binary64))))
48.0%
(*.f64 #s(literal 3 binary64) #s(approx (+ (- (* (* x 3) x) (* x 4)) 1) (*.f64 (*.f64 x x) #s(literal 3 binary64))))
99.9%
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (fma.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x #s(literal 3 binary64)))
55.0%
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64)))
48.1%
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x))
48.1%
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (*.f64 (*.f64 x x) #s(literal 9 binary64)))
54.2%
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) #s(literal 3 binary64))
Compiler

Compiled 296 to 226 computations (23.6% saved)

simplify58.0ms (1%)

Memory
5.3MiB live, 48.4MiB allocated
Algorithm
egg-herbie
Localize:

Found 14 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 x x)
cost-diff0
(*.f64 (*.f64 x x) #s(literal 3 binary64))
cost-diff0
#s(approx (+ (- (* (* x 3) x) (* x 4)) 1) (*.f64 (*.f64 x x) #s(literal 3 binary64)))
cost-diff0
(*.f64 #s(literal 3 binary64) #s(approx (+ (- (* (* x 3) x) (* x 4)) 1) (*.f64 (*.f64 x x) #s(literal 3 binary64))))
cost-diff0
(fma.f64 #s(literal -4 binary64) x #s(literal 1 binary64))
cost-diff0
#s(approx (+ (- (* (* x 3) x) (* x 4)) 1) (fma.f64 #s(literal -4 binary64) x #s(literal 1 binary64)))
cost-diff0
(*.f64 #s(literal 3 binary64) #s(approx (+ (- (* (* x 3) x) (* x 4)) 1) (fma.f64 #s(literal -4 binary64) x #s(literal 1 binary64))))
cost-diff0
(*.f64 x x)
cost-diff0
(*.f64 (*.f64 x x) #s(literal 9 binary64))
cost-diff0
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (*.f64 (*.f64 x x) #s(literal 9 binary64)))
cost-diff0
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) #s(literal 3 binary64))
cost-diff0
(fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64))
cost-diff0
(*.f64 x x)
cost-diff320
(fma.f64 (*.f64 x x) #s(literal 9 binary64) (fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
025153
035153
170141
2109137
3200137
4310137
5414137
6629137
7970137
81269137
91340137
101377137
111383137
121383137
01383123
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(fma.f64 (*.f64 x x) #s(literal 9 binary64) (fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64)))
(*.f64 x x)
x
#s(literal 9 binary64)
(fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64))
#s(literal -12 binary64)
#s(literal 3 binary64)
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) #s(literal 3 binary64))
#s(literal 3 binary64)
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (*.f64 (*.f64 x x) #s(literal 9 binary64)))
(*.f64 (*.f64 x x) #s(literal 9 binary64))
(*.f64 x x)
x
#s(literal 9 binary64)
(*.f64 #s(literal 3 binary64) #s(approx (+ (- (* (* x 3) x) (* x 4)) 1) (fma.f64 #s(literal -4 binary64) x #s(literal 1 binary64))))
#s(literal 3 binary64)
#s(approx (+ (- (* (* x 3) x) (* x 4)) 1) (fma.f64 #s(literal -4 binary64) x #s(literal 1 binary64)))
(fma.f64 #s(literal -4 binary64) x #s(literal 1 binary64))
#s(literal -4 binary64)
x
#s(literal 1 binary64)
(*.f64 #s(literal 3 binary64) #s(approx (+ (- (* (* x 3) x) (* x 4)) 1) (*.f64 (*.f64 x x) #s(literal 3 binary64))))
#s(literal 3 binary64)
#s(approx (+ (- (* (* x 3) x) (* x 4)) 1) (*.f64 (*.f64 x x) #s(literal 3 binary64)))
(*.f64 (*.f64 x x) #s(literal 3 binary64))
(*.f64 x x)
x
Outputs
(fma.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x #s(literal 3 binary64))
(*.f64 x x)
x
#s(literal 9 binary64)
(fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64))
#s(literal -12 binary64)
#s(literal 3 binary64)
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) #s(literal 3 binary64))
#s(literal 3 binary64)
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (*.f64 #s(literal 9 binary64) (*.f64 x x)))
(*.f64 #s(literal 9 binary64) (*.f64 x x))
(*.f64 x x)
x
#s(literal 9 binary64)
(*.f64 #s(approx (+ (- (* (* x 3) x) (* x 4)) 1) (fma.f64 #s(literal -4 binary64) x #s(literal 1 binary64))) #s(literal 3 binary64))
#s(literal 3 binary64)
#s(approx (+ (- (* (* x 3) x) (* x 4)) 1) (fma.f64 #s(literal -4 binary64) x #s(literal 1 binary64)))
(fma.f64 #s(literal -4 binary64) x #s(literal 1 binary64))
#s(literal -4 binary64)
x
#s(literal 1 binary64)
(*.f64 #s(approx (+ (- (* (* x 3) x) (* x 4)) 1) (*.f64 (*.f64 #s(literal 3 binary64) x) x)) #s(literal 3 binary64))
#s(literal 3 binary64)
#s(approx (+ (- (* (* x 3) x) (* x 4)) 1) (*.f64 (*.f64 #s(literal 3 binary64) x) x))
(*.f64 (*.f64 #s(literal 3 binary64) x) x)
(*.f64 x x)
x

localize138.0ms (2.4%)

Memory
-57.1MiB live, 171.1MiB allocated
Localize:

Found 14 expressions of interest:

NewMetricScoreProgram
accuracy0
(*.f64 x x)
accuracy0.0546875
(*.f64 #s(literal 3 binary64) #s(approx (+ (- (* (* x 3) x) (* x 4)) 1) (*.f64 (*.f64 x x) #s(literal 3 binary64))))
accuracy0.12109375
(*.f64 (*.f64 x x) #s(literal 3 binary64))
accuracy33.198886265631145
#s(approx (+ (- (* (* x 3) x) (* x 4)) 1) (*.f64 (*.f64 x x) #s(literal 3 binary64)))
accuracy0
(fma.f64 #s(literal -4 binary64) x #s(literal 1 binary64))
accuracy0.0546875
(*.f64 #s(literal 3 binary64) #s(approx (+ (- (* (* x 3) x) (* x 4)) 1) (fma.f64 #s(literal -4 binary64) x #s(literal 1 binary64))))
accuracy28.82207878451607
#s(approx (+ (- (* (* x 3) x) (* x 4)) 1) (fma.f64 #s(literal -4 binary64) x #s(literal 1 binary64)))
accuracy0
(*.f64 x x)
accuracy0.1171875
(*.f64 (*.f64 x x) #s(literal 9 binary64))
accuracy33.20282745538317
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (*.f64 (*.f64 x x) #s(literal 9 binary64)))
accuracy29.308122002501417
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) #s(literal 3 binary64))
accuracy0
(fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64))
accuracy0
(*.f64 x x)
accuracy0.046875
(fma.f64 (*.f64 x x) #s(literal 9 binary64) (fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64)))
Samples
33.0ms232×0valid
14.0ms16×2valid
2.0ms1valid
Compiler

Compiled 282 to 50 computations (82.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 33.0ms
ival-mult: 14.0ms (42.1% of total)
ival-add: 10.0ms (30.1% of total)
adjust: 7.0ms (21% of total)
ival-sub: 1.0ms (3% of total)
exact: 1.0ms (3% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)

series10.0ms (0.2%)

Memory
20.0MiB live, 20.0MiB allocated
Counts
12 → 144
Calls
Call 1
Inputs
#s(alt #<batchref> (patch (fma.f64 (*.f64 x x) #s(literal 9 binary64) (fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64))) #<representation binary64>) () ())
#s(alt #<batchref> (patch (*.f64 x x) #<representation binary64>) () ())
#s(alt #<batchref> (patch (fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64)) #<representation binary64>) () ())
#s(alt #<batchref> (patch #s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) #s(literal 3 binary64)) #<representation binary64>) () ())
#s(alt #<batchref> (patch #s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (*.f64 (*.f64 x x) #s(literal 9 binary64))) #<representation binary64>) () ())
#s(alt #<batchref> (patch (*.f64 (*.f64 x x) #s(literal 9 binary64)) #<representation binary64>) () ())
#s(alt #<batchref> (patch (*.f64 #s(literal 3 binary64) #s(approx (+ (- (* (* x 3) x) (* x 4)) 1) (fma.f64 #s(literal -4 binary64) x #s(literal 1 binary64)))) #<representation binary64>) () ())
#s(alt #<batchref> (patch #s(approx (+ (- (* (* x 3) x) (* x 4)) 1) (fma.f64 #s(literal -4 binary64) x #s(literal 1 binary64))) #<representation binary64>) () ())
#s(alt #<batchref> (patch (fma.f64 #s(literal -4 binary64) x #s(literal 1 binary64)) #<representation binary64>) () ())
#s(alt #<batchref> (patch (*.f64 #s(literal 3 binary64) #s(approx (+ (- (* (* x 3) x) (* x 4)) 1) (*.f64 (*.f64 x x) #s(literal 3 binary64)))) #<representation binary64>) () ())
#s(alt #<batchref> (patch #s(approx (+ (- (* (* x 3) x) (* x 4)) 1) (*.f64 (*.f64 x x) #s(literal 3 binary64))) #<representation binary64>) () ())
#s(alt #<batchref> (patch (*.f64 (*.f64 x x) #s(literal 3 binary64)) #<representation binary64>) () ())
Outputs
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 x x) #s(literal 9 binary64) (fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 x x) #s(literal 9 binary64) (fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 x x) #s(literal 9 binary64) (fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 x x) #s(literal 9 binary64) (fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (*.f64 (*.f64 x x) #s(literal 9 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (*.f64 (*.f64 x x) #s(literal 9 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (*.f64 (*.f64 x x) #s(literal 9 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (*.f64 (*.f64 x x) #s(literal 9 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 (*.f64 x x) #s(literal 9 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 (*.f64 x x) #s(literal 9 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 (*.f64 x x) #s(literal 9 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 (*.f64 x x) #s(literal 9 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 #s(literal 3 binary64) #s(approx (+ (- (* (* x 3) x) (* x 4)) 1) (fma.f64 #s(literal -4 binary64) x #s(literal 1 binary64)))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 #s(literal 3 binary64) #s(approx (+ (- (* (* x 3) x) (* x 4)) 1) (fma.f64 #s(literal -4 binary64) x #s(literal 1 binary64)))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 #s(literal 3 binary64) #s(approx (+ (- (* (* x 3) x) (* x 4)) 1) (fma.f64 #s(literal -4 binary64) x #s(literal 1 binary64)))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 #s(literal 3 binary64) #s(approx (+ (- (* (* x 3) x) (* x 4)) 1) (fma.f64 #s(literal -4 binary64) x #s(literal 1 binary64)))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (+ (- (* (* x 3) x) (* x 4)) 1) (fma.f64 #s(literal -4 binary64) x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (+ (- (* (* x 3) x) (* x 4)) 1) (fma.f64 #s(literal -4 binary64) x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (+ (- (* (* x 3) x) (* x 4)) 1) (fma.f64 #s(literal -4 binary64) x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (+ (- (* (* x 3) x) (* x 4)) 1) (fma.f64 #s(literal -4 binary64) x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 #s(literal -4 binary64) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 #s(literal -4 binary64) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 #s(literal -4 binary64) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 #s(literal -4 binary64) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 #s(literal 3 binary64) #s(approx (+ (- (* (* x 3) x) (* x 4)) 1) (*.f64 (*.f64 x x) #s(literal 3 binary64)))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 #s(literal 3 binary64) #s(approx (+ (- (* (* x 3) x) (* x 4)) 1) (*.f64 (*.f64 x x) #s(literal 3 binary64)))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 #s(literal 3 binary64) #s(approx (+ (- (* (* x 3) x) (* x 4)) 1) (*.f64 (*.f64 x x) #s(literal 3 binary64)))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 #s(literal 3 binary64) #s(approx (+ (- (* (* x 3) x) (* x 4)) 1) (*.f64 (*.f64 x x) #s(literal 3 binary64)))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (+ (- (* (* x 3) x) (* x 4)) 1) (*.f64 (*.f64 x x) #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (+ (- (* (* x 3) x) (* x 4)) 1) (*.f64 (*.f64 x x) #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (+ (- (* (* x 3) x) (* x 4)) 1) (*.f64 (*.f64 x x) #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (+ (- (* (* x 3) x) (* x 4)) 1) (*.f64 (*.f64 x x) #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 (*.f64 x x) #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 (*.f64 x x) #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 (*.f64 x x) #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 (*.f64 x x) #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 x x) #s(literal 9 binary64) (fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 x x) #s(literal 9 binary64) (fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 x x) #s(literal 9 binary64) (fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 x x) #s(literal 9 binary64) (fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (*.f64 (*.f64 x x) #s(literal 9 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (*.f64 (*.f64 x x) #s(literal 9 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (*.f64 (*.f64 x x) #s(literal 9 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (*.f64 (*.f64 x x) #s(literal 9 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 (*.f64 x x) #s(literal 9 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 (*.f64 x x) #s(literal 9 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 (*.f64 x x) #s(literal 9 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 (*.f64 x x) #s(literal 9 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal 3 binary64) #s(approx (+ (- (* (* x 3) x) (* x 4)) 1) (fma.f64 #s(literal -4 binary64) x #s(literal 1 binary64)))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal 3 binary64) #s(approx (+ (- (* (* x 3) x) (* x 4)) 1) (fma.f64 #s(literal -4 binary64) x #s(literal 1 binary64)))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal 3 binary64) #s(approx (+ (- (* (* x 3) x) (* x 4)) 1) (fma.f64 #s(literal -4 binary64) x #s(literal 1 binary64)))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal 3 binary64) #s(approx (+ (- (* (* x 3) x) (* x 4)) 1) (fma.f64 #s(literal -4 binary64) x #s(literal 1 binary64)))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (+ (- (* (* x 3) x) (* x 4)) 1) (fma.f64 #s(literal -4 binary64) x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (+ (- (* (* x 3) x) (* x 4)) 1) (fma.f64 #s(literal -4 binary64) x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (+ (- (* (* x 3) x) (* x 4)) 1) (fma.f64 #s(literal -4 binary64) x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (+ (- (* (* x 3) x) (* x 4)) 1) (fma.f64 #s(literal -4 binary64) x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 #s(literal -4 binary64) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 #s(literal -4 binary64) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 #s(literal -4 binary64) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 #s(literal -4 binary64) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal 3 binary64) #s(approx (+ (- (* (* x 3) x) (* x 4)) 1) (*.f64 (*.f64 x x) #s(literal 3 binary64)))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal 3 binary64) #s(approx (+ (- (* (* x 3) x) (* x 4)) 1) (*.f64 (*.f64 x x) #s(literal 3 binary64)))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal 3 binary64) #s(approx (+ (- (* (* x 3) x) (* x 4)) 1) (*.f64 (*.f64 x x) #s(literal 3 binary64)))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal 3 binary64) #s(approx (+ (- (* (* x 3) x) (* x 4)) 1) (*.f64 (*.f64 x x) #s(literal 3 binary64)))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (+ (- (* (* x 3) x) (* x 4)) 1) (*.f64 (*.f64 x x) #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (+ (- (* (* x 3) x) (* x 4)) 1) (*.f64 (*.f64 x x) #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (+ (- (* (* x 3) x) (* x 4)) 1) (*.f64 (*.f64 x x) #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (+ (- (* (* x 3) x) (* x 4)) 1) (*.f64 (*.f64 x x) #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 (*.f64 x x) #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 (*.f64 x x) #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 (*.f64 x x) #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 (*.f64 x x) #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 x x) #s(literal 9 binary64) (fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 x x) #s(literal 9 binary64) (fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 x x) #s(literal 9 binary64) (fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 x x) #s(literal 9 binary64) (fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (*.f64 (*.f64 x x) #s(literal 9 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (*.f64 (*.f64 x x) #s(literal 9 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (*.f64 (*.f64 x x) #s(literal 9 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (*.f64 (*.f64 x x) #s(literal 9 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 (*.f64 x x) #s(literal 9 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 (*.f64 x x) #s(literal 9 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 (*.f64 x x) #s(literal 9 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 (*.f64 x x) #s(literal 9 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal 3 binary64) #s(approx (+ (- (* (* x 3) x) (* x 4)) 1) (fma.f64 #s(literal -4 binary64) x #s(literal 1 binary64)))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal 3 binary64) #s(approx (+ (- (* (* x 3) x) (* x 4)) 1) (fma.f64 #s(literal -4 binary64) x #s(literal 1 binary64)))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal 3 binary64) #s(approx (+ (- (* (* x 3) x) (* x 4)) 1) (fma.f64 #s(literal -4 binary64) x #s(literal 1 binary64)))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal 3 binary64) #s(approx (+ (- (* (* x 3) x) (* x 4)) 1) (fma.f64 #s(literal -4 binary64) x #s(literal 1 binary64)))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (+ (- (* (* x 3) x) (* x 4)) 1) (fma.f64 #s(literal -4 binary64) x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (+ (- (* (* x 3) x) (* x 4)) 1) (fma.f64 #s(literal -4 binary64) x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (+ (- (* (* x 3) x) (* x 4)) 1) (fma.f64 #s(literal -4 binary64) x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (+ (- (* (* x 3) x) (* x 4)) 1) (fma.f64 #s(literal -4 binary64) x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 #s(literal -4 binary64) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 #s(literal -4 binary64) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 #s(literal -4 binary64) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 #s(literal -4 binary64) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal 3 binary64) #s(approx (+ (- (* (* x 3) x) (* x 4)) 1) (*.f64 (*.f64 x x) #s(literal 3 binary64)))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal 3 binary64) #s(approx (+ (- (* (* x 3) x) (* x 4)) 1) (*.f64 (*.f64 x x) #s(literal 3 binary64)))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal 3 binary64) #s(approx (+ (- (* (* x 3) x) (* x 4)) 1) (*.f64 (*.f64 x x) #s(literal 3 binary64)))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal 3 binary64) #s(approx (+ (- (* (* x 3) x) (* x 4)) 1) (*.f64 (*.f64 x x) #s(literal 3 binary64)))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (+ (- (* (* x 3) x) (* x 4)) 1) (*.f64 (*.f64 x x) #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (+ (- (* (* x 3) x) (* x 4)) 1) (*.f64 (*.f64 x x) #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (+ (- (* (* x 3) x) (* x 4)) 1) (*.f64 (*.f64 x x) #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (+ (- (* (* x 3) x) (* x 4)) 1) (*.f64 (*.f64 x x) #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 (*.f64 x x) #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 (*.f64 x x) #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 (*.f64 x x) #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 (*.f64 x x) #s(literal 3 binary64)) #<representation binary64>) () ())) ())
Calls

3 calls:

TimeVariablePointExpression
2.0ms
x
@inf
((+ (* (* x x) 9) (+ (* -12 x) 3)) (* x x) (+ (* -12 x) 3) (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (* (* x x) 9) (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (+ (- (* (* x 3) x) (* x 4)) 1) (+ (* -4 x) 1) (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (+ (- (* (* x 3) x) (* x 4)) 1) (* (* x x) 3))
1.0ms
x
@-inf
((+ (* (* x x) 9) (+ (* -12 x) 3)) (* x x) (+ (* -12 x) 3) (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (* (* x x) 9) (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (+ (- (* (* x 3) x) (* x 4)) 1) (+ (* -4 x) 1) (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (+ (- (* (* x 3) x) (* x 4)) 1) (* (* x x) 3))
1.0ms
x
@0
((+ (* (* x x) 9) (+ (* -12 x) 3)) (* x x) (+ (* -12 x) 3) (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (* (* x x) 9) (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (+ (- (* (* x 3) x) (* x 4)) 1) (+ (* -4 x) 1) (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (+ (- (* (* x 3) x) (* x 4)) 1) (* (* x x) 3))

simplify115.0ms (2%)

Memory
18.0MiB live, 132.6MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
059876
1158876
2391876
3958848
42140848
54411848
66963848
08060725
Stop Event
iter limit
node limit
Counts
144 → 144
Calls
Call 1
Inputs
3
(+ 3 (* -12 x))
(+ 3 (* x (- (* 9 x) 12)))
(+ 3 (* x (- (* 9 x) 12)))
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
3
(+ 3 (* -12 x))
(+ 3 (* -12 x))
(+ 3 (* -12 x))
3
(+ 3 (* -12 x))
(+ 3 (* x (- (* 9 x) 12)))
(+ 3 (* x (- (* 9 x) 12)))
3
(+ 3 (* -12 x))
(+ 3 (* x (- (* 9 x) 12)))
(+ 3 (* x (- (* 9 x) 12)))
(* 9 (pow x 2))
(* 9 (pow x 2))
(* 9 (pow x 2))
(* 9 (pow x 2))
3
(+ 3 (* -12 x))
(+ 3 (* x (- (* 9 x) 12)))
(+ 3 (* x (- (* 9 x) 12)))
1
(+ 1 (* -4 x))
(+ 1 (* x (- (* 3 x) 4)))
(+ 1 (* x (- (* 3 x) 4)))
1
(+ 1 (* -4 x))
(+ 1 (* -4 x))
(+ 1 (* -4 x))
3
(+ 3 (* -12 x))
(+ 3 (* x (- (* 9 x) 12)))
(+ 3 (* x (- (* 9 x) 12)))
1
(+ 1 (* -4 x))
(+ 1 (* x (- (* 3 x) 4)))
(+ 1 (* x (- (* 3 x) 4)))
(* 3 (pow x 2))
(* 3 (pow x 2))
(* 3 (pow x 2))
(* 3 (pow x 2))
(* 9 (pow x 2))
(* (pow x 2) (- 9 (* 12 (/ 1 x))))
(* (pow x 2) (- (+ 9 (/ 3 (pow x 2))) (* 12 (/ 1 x))))
(* (pow x 2) (- (+ 9 (/ 3 (pow x 2))) (* 12 (/ 1 x))))
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(* -12 x)
(* x (- (* 3 (/ 1 x)) 12))
(* x (- (* 3 (/ 1 x)) 12))
(* x (- (* 3 (/ 1 x)) 12))
(* 9 (pow x 2))
(* (pow x 2) (- 9 (* 12 (/ 1 x))))
(* (pow x 2) (- (+ 9 (/ 3 (pow x 2))) (* 12 (/ 1 x))))
(* (pow x 2) (- (+ 9 (/ 3 (pow x 2))) (* 12 (/ 1 x))))
(* 9 (pow x 2))
(* (pow x 2) (- 9 (* 12 (/ 1 x))))
(* (pow x 2) (- (+ 9 (/ 3 (pow x 2))) (* 12 (/ 1 x))))
(* (pow x 2) (- (+ 9 (/ 3 (pow x 2))) (* 12 (/ 1 x))))
(* 9 (pow x 2))
(* 9 (pow x 2))
(* 9 (pow x 2))
(* 9 (pow x 2))
(* 9 (pow x 2))
(* (pow x 2) (- 9 (* 12 (/ 1 x))))
(* (pow x 2) (- (+ 9 (/ 3 (pow x 2))) (* 12 (/ 1 x))))
(* (pow x 2) (- (+ 9 (/ 3 (pow x 2))) (* 12 (/ 1 x))))
(* 3 (pow x 2))
(* (pow x 2) (- 3 (* 4 (/ 1 x))))
(* (pow x 2) (- (+ 3 (/ 1 (pow x 2))) (* 4 (/ 1 x))))
(* (pow x 2) (- (+ 3 (/ 1 (pow x 2))) (* 4 (/ 1 x))))
(* -4 x)
(* x (- (/ 1 x) 4))
(* x (- (/ 1 x) 4))
(* x (- (/ 1 x) 4))
(* 9 (pow x 2))
(* (pow x 2) (- 9 (* 12 (/ 1 x))))
(* (pow x 2) (- (+ 9 (/ 3 (pow x 2))) (* 12 (/ 1 x))))
(* (pow x 2) (- (+ 9 (/ 3 (pow x 2))) (* 12 (/ 1 x))))
(* 3 (pow x 2))
(* (pow x 2) (- 3 (* 4 (/ 1 x))))
(* (pow x 2) (- (+ 3 (/ 1 (pow x 2))) (* 4 (/ 1 x))))
(* (pow x 2) (- (+ 3 (/ 1 (pow x 2))) (* 4 (/ 1 x))))
(* 3 (pow x 2))
(* 3 (pow x 2))
(* 3 (pow x 2))
(* 3 (pow x 2))
(* 9 (pow x 2))
(* (pow x 2) (- 9 (* 12 (/ 1 x))))
(* (pow x 2) (+ 9 (* -1 (/ (- 12 (* 3 (/ 1 x))) x))))
(* (pow x 2) (+ 9 (* -1 (/ (- 12 (* 3 (/ 1 x))) x))))
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(* -12 x)
(* -1 (* x (- 12 (* 3 (/ 1 x)))))
(* -1 (* x (- 12 (* 3 (/ 1 x)))))
(* -1 (* x (- 12 (* 3 (/ 1 x)))))
(* 9 (pow x 2))
(* (pow x 2) (- 9 (* 12 (/ 1 x))))
(* (pow x 2) (+ 9 (* -1 (/ (- 12 (* 3 (/ 1 x))) x))))
(* (pow x 2) (+ 9 (* -1 (/ (- 12 (* 3 (/ 1 x))) x))))
(* 9 (pow x 2))
(* (pow x 2) (- 9 (* 12 (/ 1 x))))
(* (pow x 2) (+ 9 (* -1 (/ (- 12 (* 3 (/ 1 x))) x))))
(* (pow x 2) (+ 9 (* -1 (/ (- 12 (* 3 (/ 1 x))) x))))
(* 9 (pow x 2))
(* 9 (pow x 2))
(* 9 (pow x 2))
(* 9 (pow x 2))
(* 9 (pow x 2))
(* (pow x 2) (- 9 (* 12 (/ 1 x))))
(* (pow x 2) (+ 9 (* -1 (/ (- 12 (* 3 (/ 1 x))) x))))
(* (pow x 2) (+ 9 (* -1 (/ (- 12 (* 3 (/ 1 x))) x))))
(* 3 (pow x 2))
(* (pow x 2) (- 3 (* 4 (/ 1 x))))
(* (pow x 2) (+ 3 (* -1 (/ (- 4 (/ 1 x)) x))))
(* (pow x 2) (+ 3 (* -1 (/ (- 4 (/ 1 x)) x))))
(* -4 x)
(* -1 (* x (- 4 (/ 1 x))))
(* -1 (* x (- 4 (/ 1 x))))
(* -1 (* x (- 4 (/ 1 x))))
(* 9 (pow x 2))
(* (pow x 2) (- 9 (* 12 (/ 1 x))))
(* (pow x 2) (+ 9 (* -1 (/ (- 12 (* 3 (/ 1 x))) x))))
(* (pow x 2) (+ 9 (* -1 (/ (- 12 (* 3 (/ 1 x))) x))))
(* 3 (pow x 2))
(* (pow x 2) (- 3 (* 4 (/ 1 x))))
(* (pow x 2) (+ 3 (* -1 (/ (- 4 (/ 1 x)) x))))
(* (pow x 2) (+ 3 (* -1 (/ (- 4 (/ 1 x)) x))))
(* 3 (pow x 2))
(* 3 (pow x 2))
(* 3 (pow x 2))
(* 3 (pow x 2))
Outputs
#s(literal 3 binary64)
(fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64))
(fma.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x #s(literal 3 binary64))
(fma.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x #s(literal 3 binary64))
(*.f64 x x)
(*.f64 x x)
(*.f64 x x)
(*.f64 x x)
#s(literal 3 binary64)
(fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64))
(fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64))
(fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64))
#s(literal 3 binary64)
(fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64))
(fma.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x #s(literal 3 binary64))
(fma.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x #s(literal 3 binary64))
#s(literal 3 binary64)
(fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64))
(fma.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x #s(literal 3 binary64))
(fma.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x #s(literal 3 binary64))
(*.f64 (*.f64 x x) #s(literal 9 binary64))
(*.f64 (*.f64 x x) #s(literal 9 binary64))
(*.f64 (*.f64 x x) #s(literal 9 binary64))
(*.f64 (*.f64 x x) #s(literal 9 binary64))
#s(literal 3 binary64)
(fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64))
(fma.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x #s(literal 3 binary64))
(fma.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x #s(literal 3 binary64))
#s(literal 1 binary64)
(fma.f64 #s(literal -4 binary64) x #s(literal 1 binary64))
(fma.f64 (fma.f64 #s(literal 3 binary64) x #s(literal -4 binary64)) x #s(literal 1 binary64))
(fma.f64 (fma.f64 #s(literal 3 binary64) x #s(literal -4 binary64)) x #s(literal 1 binary64))
#s(literal 1 binary64)
(fma.f64 #s(literal -4 binary64) x #s(literal 1 binary64))
(fma.f64 #s(literal -4 binary64) x #s(literal 1 binary64))
(fma.f64 #s(literal -4 binary64) x #s(literal 1 binary64))
#s(literal 3 binary64)
(fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64))
(fma.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x #s(literal 3 binary64))
(fma.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x #s(literal 3 binary64))
#s(literal 1 binary64)
(fma.f64 #s(literal -4 binary64) x #s(literal 1 binary64))
(fma.f64 (fma.f64 #s(literal 3 binary64) x #s(literal -4 binary64)) x #s(literal 1 binary64))
(fma.f64 (fma.f64 #s(literal 3 binary64) x #s(literal -4 binary64)) x #s(literal 1 binary64))
(*.f64 (*.f64 #s(literal 3 binary64) x) x)
(*.f64 (*.f64 #s(literal 3 binary64) x) x)
(*.f64 (*.f64 #s(literal 3 binary64) x) x)
(*.f64 (*.f64 #s(literal 3 binary64) x) x)
(*.f64 (*.f64 x x) #s(literal 9 binary64))
(*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x)
(fma.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x #s(literal 3 binary64))
(fma.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x #s(literal 3 binary64))
(*.f64 x x)
(*.f64 x x)
(*.f64 x x)
(*.f64 x x)
(*.f64 #s(literal -12 binary64) x)
(fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64))
(fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64))
(fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64))
(*.f64 (*.f64 x x) #s(literal 9 binary64))
(*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x)
(fma.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x #s(literal 3 binary64))
(fma.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x #s(literal 3 binary64))
(*.f64 (*.f64 x x) #s(literal 9 binary64))
(*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x)
(fma.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x #s(literal 3 binary64))
(fma.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x #s(literal 3 binary64))
(*.f64 (*.f64 x x) #s(literal 9 binary64))
(*.f64 (*.f64 x x) #s(literal 9 binary64))
(*.f64 (*.f64 x x) #s(literal 9 binary64))
(*.f64 (*.f64 x x) #s(literal 9 binary64))
(*.f64 (*.f64 x x) #s(literal 9 binary64))
(*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x)
(fma.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x #s(literal 3 binary64))
(fma.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x #s(literal 3 binary64))
(*.f64 (*.f64 #s(literal 3 binary64) x) x)
(*.f64 (fma.f64 #s(literal 3 binary64) x #s(literal -4 binary64)) x)
(fma.f64 (fma.f64 #s(literal 3 binary64) x #s(literal -4 binary64)) x #s(literal 1 binary64))
(fma.f64 (fma.f64 #s(literal 3 binary64) x #s(literal -4 binary64)) x #s(literal 1 binary64))
(*.f64 #s(literal -4 binary64) x)
(fma.f64 #s(literal -4 binary64) x #s(literal 1 binary64))
(fma.f64 #s(literal -4 binary64) x #s(literal 1 binary64))
(fma.f64 #s(literal -4 binary64) x #s(literal 1 binary64))
(*.f64 (*.f64 x x) #s(literal 9 binary64))
(*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x)
(fma.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x #s(literal 3 binary64))
(fma.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x #s(literal 3 binary64))
(*.f64 (*.f64 #s(literal 3 binary64) x) x)
(*.f64 (fma.f64 #s(literal 3 binary64) x #s(literal -4 binary64)) x)
(fma.f64 (fma.f64 #s(literal 3 binary64) x #s(literal -4 binary64)) x #s(literal 1 binary64))
(fma.f64 (fma.f64 #s(literal 3 binary64) x #s(literal -4 binary64)) x #s(literal 1 binary64))
(*.f64 (*.f64 #s(literal 3 binary64) x) x)
(*.f64 (*.f64 #s(literal 3 binary64) x) x)
(*.f64 (*.f64 #s(literal 3 binary64) x) x)
(*.f64 (*.f64 #s(literal 3 binary64) x) x)
(*.f64 (*.f64 x x) #s(literal 9 binary64))
(*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x)
(fma.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x #s(literal 3 binary64))
(fma.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x #s(literal 3 binary64))
(*.f64 x x)
(*.f64 x x)
(*.f64 x x)
(*.f64 x x)
(*.f64 #s(literal -12 binary64) x)
(fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64))
(fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64))
(fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64))
(*.f64 (*.f64 x x) #s(literal 9 binary64))
(*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x)
(fma.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x #s(literal 3 binary64))
(fma.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x #s(literal 3 binary64))
(*.f64 (*.f64 x x) #s(literal 9 binary64))
(*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x)
(fma.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x #s(literal 3 binary64))
(fma.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x #s(literal 3 binary64))
(*.f64 (*.f64 x x) #s(literal 9 binary64))
(*.f64 (*.f64 x x) #s(literal 9 binary64))
(*.f64 (*.f64 x x) #s(literal 9 binary64))
(*.f64 (*.f64 x x) #s(literal 9 binary64))
(*.f64 (*.f64 x x) #s(literal 9 binary64))
(*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x)
(fma.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x #s(literal 3 binary64))
(fma.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x #s(literal 3 binary64))
(*.f64 (*.f64 #s(literal 3 binary64) x) x)
(*.f64 (fma.f64 #s(literal 3 binary64) x #s(literal -4 binary64)) x)
(fma.f64 (fma.f64 #s(literal 3 binary64) x #s(literal -4 binary64)) x #s(literal 1 binary64))
(fma.f64 (fma.f64 #s(literal 3 binary64) x #s(literal -4 binary64)) x #s(literal 1 binary64))
(*.f64 #s(literal -4 binary64) x)
(fma.f64 #s(literal -4 binary64) x #s(literal 1 binary64))
(fma.f64 #s(literal -4 binary64) x #s(literal 1 binary64))
(fma.f64 #s(literal -4 binary64) x #s(literal 1 binary64))
(*.f64 (*.f64 x x) #s(literal 9 binary64))
(*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x)
(fma.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x #s(literal 3 binary64))
(fma.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x #s(literal 3 binary64))
(*.f64 (*.f64 #s(literal 3 binary64) x) x)
(*.f64 (fma.f64 #s(literal 3 binary64) x #s(literal -4 binary64)) x)
(fma.f64 (fma.f64 #s(literal 3 binary64) x #s(literal -4 binary64)) x #s(literal 1 binary64))
(fma.f64 (fma.f64 #s(literal 3 binary64) x #s(literal -4 binary64)) x #s(literal 1 binary64))
(*.f64 (*.f64 #s(literal 3 binary64) x) x)
(*.f64 (*.f64 #s(literal 3 binary64) x) x)
(*.f64 (*.f64 #s(literal 3 binary64) x) x)
(*.f64 (*.f64 #s(literal 3 binary64) x) x)

rewrite272.0ms (4.6%)

Memory
6.3MiB live, 237.9MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
025134
035134
1131122
2993122
08373108
Stop Event
iter limit
node limit
iter limit
Counts
12 → 186
Calls
Call 1
Inputs
(fma.f64 (*.f64 x x) #s(literal 9 binary64) (fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64)))
(*.f64 x x)
(fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64))
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) #s(literal 3 binary64))
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (*.f64 (*.f64 x x) #s(literal 9 binary64)))
(*.f64 (*.f64 x x) #s(literal 9 binary64))
(*.f64 #s(literal 3 binary64) #s(approx (+ (- (* (* x 3) x) (* x 4)) 1) (fma.f64 #s(literal -4 binary64) x #s(literal 1 binary64))))
#s(approx (+ (- (* (* x 3) x) (* x 4)) 1) (fma.f64 #s(literal -4 binary64) x #s(literal 1 binary64)))
(fma.f64 #s(literal -4 binary64) x #s(literal 1 binary64))
(*.f64 #s(literal 3 binary64) #s(approx (+ (- (* (* x 3) x) (* x 4)) 1) (*.f64 (*.f64 x x) #s(literal 3 binary64))))
#s(approx (+ (- (* (* x 3) x) (* x 4)) 1) (*.f64 (*.f64 x x) #s(literal 3 binary64)))
(*.f64 (*.f64 x x) #s(literal 3 binary64))
Outputs
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval41.0ms (0.7%)

Memory
-6.1MiB live, 77.2MiB allocated
Compiler

Compiled 8 103 to 678 computations (91.6% saved)

prune15.0ms (0.3%)

Memory
0.6MiB live, 39.0MiB allocated
Pruning

9 alts after pruning (6 fresh and 3 done)

PrunedKeptTotal
New3606366
Fresh404
Picked235
Done000
Total3669375
Accuracy
100.0%
Counts
375 → 9
Alt Table
Click to see full alt table
StatusAccuracyProgram
48.2%
(fma.f64 (*.f64 x x) #s(literal 9 binary64) #s(approx (+ (* -12 x) 3) (*.f64 #s(literal -12 binary64) x)))
99.9%
(fma.f64 x (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) #s(literal 3 binary64))
55.0%
(*.f64 #s(literal 3 binary64) #s(approx (+ (- (* (* x 3) x) (* x 4)) 1) (fma.f64 #s(literal -4 binary64) x #s(literal 1 binary64))))
55.0%
#s(approx (+ (* (* x x) 9) (+ (* -12 x) 3)) (fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64)))
48.1%
#s(approx (+ (* (* x x) 9) (+ (* -12 x) 3)) (*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x))
48.1%
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (*.f64 (*.f64 x x) #s(literal 9 binary64)))
48.0%
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (*.f64 (*.f64 #s(literal 9 binary64) x) x))
48.0%
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (*.f64 (*.f64 #s(literal 3 binary64) x) (*.f64 #s(literal 3 binary64) x)))
54.2%
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) #s(literal 3 binary64))
Compiler

Compiled 242 to 185 computations (23.6% saved)

simplify52.0ms (0.9%)

Memory
-3.1MiB live, 35.2MiB allocated
Algorithm
egg-herbie
Localize:

Found 13 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 #s(literal 3 binary64) x)
cost-diff0
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (*.f64 (*.f64 #s(literal 3 binary64) x) (*.f64 #s(literal 3 binary64) x)))
cost-diff320
(*.f64 (*.f64 #s(literal 3 binary64) x) (*.f64 #s(literal 3 binary64) x))
cost-diff0
(fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64))
cost-diff0
(*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x)
cost-diff0
#s(approx (+ (* (* x x) 9) (+ (* -12 x) 3)) (*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x))
cost-diff0
(*.f64 #s(literal 9 binary64) x)
cost-diff0
(*.f64 (*.f64 #s(literal 9 binary64) x) x)
cost-diff0
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (*.f64 (*.f64 #s(literal 9 binary64) x) x))
cost-diff0
(fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64))
cost-diff0
#s(approx (+ (* (* x x) 9) (+ (* -12 x) 3)) (fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64)))
cost-diff0
(fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64))
cost-diff0
(fma.f64 x (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) #s(literal 3 binary64))
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
029129
038119
177115
2120107
3190107
4292107
5392107
6603107
7944107
81252107
91326107
101363107
111369107
121369107
01369107
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(fma.f64 x (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) #s(literal 3 binary64))
x
(fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64))
#s(literal 9 binary64)
#s(literal -12 binary64)
#s(literal 3 binary64)
#s(approx (+ (* (* x x) 9) (+ (* -12 x) 3)) (fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64)))
(fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64))
#s(literal -12 binary64)
x
#s(literal 3 binary64)
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (*.f64 (*.f64 #s(literal 9 binary64) x) x))
(*.f64 (*.f64 #s(literal 9 binary64) x) x)
(*.f64 #s(literal 9 binary64) x)
#s(literal 9 binary64)
x
#s(approx (+ (* (* x x) 9) (+ (* -12 x) 3)) (*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x))
(*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x)
(fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64))
#s(literal 9 binary64)
x
#s(literal -12 binary64)
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (*.f64 (*.f64 #s(literal 3 binary64) x) (*.f64 #s(literal 3 binary64) x)))
(*.f64 (*.f64 #s(literal 3 binary64) x) (*.f64 #s(literal 3 binary64) x))
(*.f64 #s(literal 3 binary64) x)
#s(literal 3 binary64)
x
Outputs
(fma.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x #s(literal 3 binary64))
x
(fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64))
#s(literal 9 binary64)
#s(literal -12 binary64)
#s(literal 3 binary64)
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64)))
(fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64))
#s(literal -12 binary64)
x
#s(literal 3 binary64)
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (*.f64 (*.f64 x x) #s(literal 9 binary64)))
(*.f64 (*.f64 x x) #s(literal 9 binary64))
(*.f64 #s(literal 9 binary64) x)
#s(literal 9 binary64)
x
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x))
(*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x)
(fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64))
#s(literal 9 binary64)
x
#s(literal -12 binary64)
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (*.f64 (*.f64 x x) #s(literal 9 binary64)))
(*.f64 (*.f64 x x) #s(literal 9 binary64))
(*.f64 #s(literal 3 binary64) x)
#s(literal 3 binary64)
x

localize136.0ms (2.3%)

Memory
-26.8MiB live, 101.8MiB allocated
Localize:

Found 13 expressions of interest:

NewMetricScoreProgram
accuracy0
(*.f64 #s(literal 3 binary64) x)
accuracy0.22789003907376806
(*.f64 (*.f64 #s(literal 3 binary64) x) (*.f64 #s(literal 3 binary64) x))
accuracy33.20282745538317
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (*.f64 (*.f64 #s(literal 3 binary64) x) (*.f64 #s(literal 3 binary64) x)))
accuracy0
(fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64))
accuracy0.125
(*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x)
accuracy33.13519885913676
#s(approx (+ (* (* x x) 9) (+ (* -12 x) 3)) (*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x))
accuracy0
(*.f64 #s(literal 9 binary64) x)
accuracy0.08984375
(*.f64 (*.f64 #s(literal 9 binary64) x) x)
accuracy33.20282745538317
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (*.f64 (*.f64 #s(literal 9 binary64) x) x))
accuracy0
(fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64))
accuracy28.82772529723164
#s(approx (+ (* (* x x) 9) (+ (* -12 x) 3)) (fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64)))
accuracy0
(fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64))
accuracy0.05859375
(fma.f64 x (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) #s(literal 3 binary64))
Samples
61.0ms212×0valid
48.0ms23×2valid
6.0ms21×1valid
Compiler

Compiled 244 to 59 computations (75.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 100.0ms
ival-mult: 49.0ms (48.8% of total)
ival-add: 46.0ms (45.9% of total)
adjust: 3.0ms (3% of total)
ival-sub: 1.0ms (1% of total)
exact: 1.0ms (1% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)

series9.0ms (0.2%)

Memory
16.0MiB live, 16.0MiB allocated
Counts
12 → 144
Calls
Call 1
Inputs
#s(alt #<batchref> (patch (fma.f64 x (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) #s(literal 3 binary64)) #<representation binary64>) () ())
#s(alt #<batchref> (patch (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) #<representation binary64>) () ())
#s(alt #<batchref> (patch #s(approx (+ (* (* x x) 9) (+ (* -12 x) 3)) (fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64))) #<representation binary64>) () ())
#s(alt #<batchref> (patch (fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64)) #<representation binary64>) () ())
#s(alt #<batchref> (patch #s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (*.f64 (*.f64 #s(literal 9 binary64) x) x)) #<representation binary64>) () ())
#s(alt #<batchref> (patch (*.f64 (*.f64 #s(literal 9 binary64) x) x) #<representation binary64>) () ())
#s(alt #<batchref> (patch (*.f64 #s(literal 9 binary64) x) #<representation binary64>) () ())
#s(alt #<batchref> (patch #s(approx (+ (* (* x x) 9) (+ (* -12 x) 3)) (*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x)) #<representation binary64>) () ())
#s(alt #<batchref> (patch (*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x) #<representation binary64>) () ())
#s(alt #<batchref> (patch (*.f64 (*.f64 #s(literal 3 binary64) x) (*.f64 #s(literal 3 binary64) x)) #<representation binary64>) () ())
#s(alt #<batchref> (patch #s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (*.f64 (*.f64 #s(literal 3 binary64) x) (*.f64 #s(literal 3 binary64) x))) #<representation binary64>) () ())
#s(alt #<batchref> (patch (*.f64 #s(literal 3 binary64) x) #<representation binary64>) () ())
Outputs
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 x (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 x (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 x (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 x (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (+ (* (* x x) 9) (+ (* -12 x) 3)) (fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (+ (* (* x x) 9) (+ (* -12 x) 3)) (fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (+ (* (* x x) 9) (+ (* -12 x) 3)) (fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (+ (* (* x x) 9) (+ (* -12 x) 3)) (fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (*.f64 (*.f64 #s(literal 9 binary64) x) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (*.f64 (*.f64 #s(literal 9 binary64) x) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (*.f64 (*.f64 #s(literal 9 binary64) x) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (*.f64 (*.f64 #s(literal 9 binary64) x) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 (*.f64 #s(literal 9 binary64) x) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 (*.f64 #s(literal 9 binary64) x) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 (*.f64 #s(literal 9 binary64) x) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 (*.f64 #s(literal 9 binary64) x) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 #s(literal 9 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 #s(literal 9 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 #s(literal 9 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 #s(literal 9 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (+ (* (* x x) 9) (+ (* -12 x) 3)) (*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (+ (* (* x x) 9) (+ (* -12 x) 3)) (*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (+ (* (* x x) 9) (+ (* -12 x) 3)) (*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (+ (* (* x x) 9) (+ (* -12 x) 3)) (*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 (*.f64 #s(literal 3 binary64) x) (*.f64 #s(literal 3 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 (*.f64 #s(literal 3 binary64) x) (*.f64 #s(literal 3 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 (*.f64 #s(literal 3 binary64) x) (*.f64 #s(literal 3 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 (*.f64 #s(literal 3 binary64) x) (*.f64 #s(literal 3 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (*.f64 (*.f64 #s(literal 3 binary64) x) (*.f64 #s(literal 3 binary64) x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (*.f64 (*.f64 #s(literal 3 binary64) x) (*.f64 #s(literal 3 binary64) x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (*.f64 (*.f64 #s(literal 3 binary64) x) (*.f64 #s(literal 3 binary64) x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (*.f64 (*.f64 #s(literal 3 binary64) x) (*.f64 #s(literal 3 binary64) x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 #s(literal 3 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 #s(literal 3 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 #s(literal 3 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 #s(literal 3 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 x (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 x (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 x (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 x (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (+ (* (* x x) 9) (+ (* -12 x) 3)) (fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (+ (* (* x x) 9) (+ (* -12 x) 3)) (fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (+ (* (* x x) 9) (+ (* -12 x) 3)) (fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (+ (* (* x x) 9) (+ (* -12 x) 3)) (fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (*.f64 (*.f64 #s(literal 9 binary64) x) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (*.f64 (*.f64 #s(literal 9 binary64) x) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (*.f64 (*.f64 #s(literal 9 binary64) x) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (*.f64 (*.f64 #s(literal 9 binary64) x) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 (*.f64 #s(literal 9 binary64) x) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 (*.f64 #s(literal 9 binary64) x) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 (*.f64 #s(literal 9 binary64) x) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 (*.f64 #s(literal 9 binary64) x) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal 9 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal 9 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal 9 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal 9 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (+ (* (* x x) 9) (+ (* -12 x) 3)) (*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (+ (* (* x x) 9) (+ (* -12 x) 3)) (*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (+ (* (* x x) 9) (+ (* -12 x) 3)) (*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (+ (* (* x x) 9) (+ (* -12 x) 3)) (*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 (*.f64 #s(literal 3 binary64) x) (*.f64 #s(literal 3 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 (*.f64 #s(literal 3 binary64) x) (*.f64 #s(literal 3 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 (*.f64 #s(literal 3 binary64) x) (*.f64 #s(literal 3 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 (*.f64 #s(literal 3 binary64) x) (*.f64 #s(literal 3 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (*.f64 (*.f64 #s(literal 3 binary64) x) (*.f64 #s(literal 3 binary64) x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (*.f64 (*.f64 #s(literal 3 binary64) x) (*.f64 #s(literal 3 binary64) x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (*.f64 (*.f64 #s(literal 3 binary64) x) (*.f64 #s(literal 3 binary64) x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (*.f64 (*.f64 #s(literal 3 binary64) x) (*.f64 #s(literal 3 binary64) x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal 3 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal 3 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal 3 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal 3 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 x (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 x (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 x (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 x (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (+ (* (* x x) 9) (+ (* -12 x) 3)) (fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (+ (* (* x x) 9) (+ (* -12 x) 3)) (fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (+ (* (* x x) 9) (+ (* -12 x) 3)) (fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (+ (* (* x x) 9) (+ (* -12 x) 3)) (fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (*.f64 (*.f64 #s(literal 9 binary64) x) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (*.f64 (*.f64 #s(literal 9 binary64) x) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (*.f64 (*.f64 #s(literal 9 binary64) x) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (*.f64 (*.f64 #s(literal 9 binary64) x) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 (*.f64 #s(literal 9 binary64) x) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 (*.f64 #s(literal 9 binary64) x) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 (*.f64 #s(literal 9 binary64) x) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 (*.f64 #s(literal 9 binary64) x) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal 9 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal 9 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal 9 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal 9 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (+ (* (* x x) 9) (+ (* -12 x) 3)) (*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (+ (* (* x x) 9) (+ (* -12 x) 3)) (*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (+ (* (* x x) 9) (+ (* -12 x) 3)) (*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (+ (* (* x x) 9) (+ (* -12 x) 3)) (*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 (*.f64 #s(literal 3 binary64) x) (*.f64 #s(literal 3 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 (*.f64 #s(literal 3 binary64) x) (*.f64 #s(literal 3 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 (*.f64 #s(literal 3 binary64) x) (*.f64 #s(literal 3 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 (*.f64 #s(literal 3 binary64) x) (*.f64 #s(literal 3 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (*.f64 (*.f64 #s(literal 3 binary64) x) (*.f64 #s(literal 3 binary64) x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (*.f64 (*.f64 #s(literal 3 binary64) x) (*.f64 #s(literal 3 binary64) x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (*.f64 (*.f64 #s(literal 3 binary64) x) (*.f64 #s(literal 3 binary64) x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (*.f64 (*.f64 #s(literal 3 binary64) x) (*.f64 #s(literal 3 binary64) x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal 3 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal 3 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal 3 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal 3 binary64) x) #<representation binary64>) () ())) ())
Calls

3 calls:

TimeVariablePointExpression
1.0ms
x
@-inf
((+ (* x (+ (* 9 x) -12)) 3) (+ (* 9 x) -12) (+ (* (* x x) 9) (+ (* -12 x) 3)) (+ (* -12 x) 3) (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (* (* 9 x) x) (* 9 x) (+ (* (* x x) 9) (+ (* -12 x) 3)) (* (+ (* 9 x) -12) x) (* (* 3 x) (* 3 x)) (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (* 3 x))
1.0ms
x
@inf
((+ (* x (+ (* 9 x) -12)) 3) (+ (* 9 x) -12) (+ (* (* x x) 9) (+ (* -12 x) 3)) (+ (* -12 x) 3) (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (* (* 9 x) x) (* 9 x) (+ (* (* x x) 9) (+ (* -12 x) 3)) (* (+ (* 9 x) -12) x) (* (* 3 x) (* 3 x)) (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (* 3 x))
1.0ms
x
@0
((+ (* x (+ (* 9 x) -12)) 3) (+ (* 9 x) -12) (+ (* (* x x) 9) (+ (* -12 x) 3)) (+ (* -12 x) 3) (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (* (* 9 x) x) (* 9 x) (+ (* (* x x) 9) (+ (* -12 x) 3)) (* (+ (* 9 x) -12) x) (* (* 3 x) (* 3 x)) (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (* 3 x))

simplify161.0ms (2.8%)

Memory
-7.1MiB live, 111.1MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
039792
1103792
2252792
3651792
41681792
53391792
65081792
76350792
87557792
08016690
Stop Event
iter limit
node limit
Counts
144 → 144
Calls
Call 1
Inputs
3
(+ 3 (* -12 x))
(+ 3 (* x (- (* 9 x) 12)))
(+ 3 (* x (- (* 9 x) 12)))
-12
(- (* 9 x) 12)
(- (* 9 x) 12)
(- (* 9 x) 12)
3
(+ 3 (* -12 x))
(+ 3 (* x (- (* 9 x) 12)))
(+ 3 (* x (- (* 9 x) 12)))
3
(+ 3 (* -12 x))
(+ 3 (* -12 x))
(+ 3 (* -12 x))
3
(+ 3 (* -12 x))
(+ 3 (* x (- (* 9 x) 12)))
(+ 3 (* x (- (* 9 x) 12)))
(* 9 (pow x 2))
(* 9 (pow x 2))
(* 9 (pow x 2))
(* 9 (pow x 2))
(* 9 x)
(* 9 x)
(* 9 x)
(* 9 x)
3
(+ 3 (* -12 x))
(+ 3 (* x (- (* 9 x) 12)))
(+ 3 (* x (- (* 9 x) 12)))
(* -12 x)
(* x (- (* 9 x) 12))
(* x (- (* 9 x) 12))
(* x (- (* 9 x) 12))
(* 9 (pow x 2))
(* 9 (pow x 2))
(* 9 (pow x 2))
(* 9 (pow x 2))
3
(+ 3 (* -12 x))
(+ 3 (* x (- (* 9 x) 12)))
(+ 3 (* x (- (* 9 x) 12)))
(* 3 x)
(* 3 x)
(* 3 x)
(* 3 x)
(* 9 (pow x 2))
(* (pow x 2) (- 9 (* 12 (/ 1 x))))
(* (pow x 2) (- (+ 9 (/ 3 (pow x 2))) (* 12 (/ 1 x))))
(* (pow x 2) (- (+ 9 (/ 3 (pow x 2))) (* 12 (/ 1 x))))
(* 9 x)
(* x (- 9 (* 12 (/ 1 x))))
(* x (- 9 (* 12 (/ 1 x))))
(* x (- 9 (* 12 (/ 1 x))))
(* 9 (pow x 2))
(* (pow x 2) (- 9 (* 12 (/ 1 x))))
(* (pow x 2) (- (+ 9 (/ 3 (pow x 2))) (* 12 (/ 1 x))))
(* (pow x 2) (- (+ 9 (/ 3 (pow x 2))) (* 12 (/ 1 x))))
(* -12 x)
(* x (- (* 3 (/ 1 x)) 12))
(* x (- (* 3 (/ 1 x)) 12))
(* x (- (* 3 (/ 1 x)) 12))
(* 9 (pow x 2))
(* (pow x 2) (- 9 (* 12 (/ 1 x))))
(* (pow x 2) (- (+ 9 (/ 3 (pow x 2))) (* 12 (/ 1 x))))
(* (pow x 2) (- (+ 9 (/ 3 (pow x 2))) (* 12 (/ 1 x))))
(* 9 (pow x 2))
(* 9 (pow x 2))
(* 9 (pow x 2))
(* 9 (pow x 2))
(* 9 x)
(* 9 x)
(* 9 x)
(* 9 x)
(* 9 (pow x 2))
(* (pow x 2) (- 9 (* 12 (/ 1 x))))
(* (pow x 2) (- (+ 9 (/ 3 (pow x 2))) (* 12 (/ 1 x))))
(* (pow x 2) (- (+ 9 (/ 3 (pow x 2))) (* 12 (/ 1 x))))
(* 9 (pow x 2))
(* (pow x 2) (- 9 (* 12 (/ 1 x))))
(* (pow x 2) (- 9 (* 12 (/ 1 x))))
(* (pow x 2) (- 9 (* 12 (/ 1 x))))
(* 9 (pow x 2))
(* 9 (pow x 2))
(* 9 (pow x 2))
(* 9 (pow x 2))
(* 9 (pow x 2))
(* (pow x 2) (- 9 (* 12 (/ 1 x))))
(* (pow x 2) (- (+ 9 (/ 3 (pow x 2))) (* 12 (/ 1 x))))
(* (pow x 2) (- (+ 9 (/ 3 (pow x 2))) (* 12 (/ 1 x))))
(* 3 x)
(* 3 x)
(* 3 x)
(* 3 x)
(* 9 (pow x 2))
(* (pow x 2) (- 9 (* 12 (/ 1 x))))
(* (pow x 2) (+ 9 (* -1 (/ (- 12 (* 3 (/ 1 x))) x))))
(* (pow x 2) (+ 9 (* -1 (/ (- 12 (* 3 (/ 1 x))) x))))
(* 9 x)
(* -1 (* x (- (* 12 (/ 1 x)) 9)))
(* -1 (* x (- (* 12 (/ 1 x)) 9)))
(* -1 (* x (- (* 12 (/ 1 x)) 9)))
(* 9 (pow x 2))
(* (pow x 2) (- 9 (* 12 (/ 1 x))))
(* (pow x 2) (+ 9 (* -1 (/ (- 12 (* 3 (/ 1 x))) x))))
(* (pow x 2) (+ 9 (* -1 (/ (- 12 (* 3 (/ 1 x))) x))))
(* -12 x)
(* -1 (* x (- 12 (* 3 (/ 1 x)))))
(* -1 (* x (- 12 (* 3 (/ 1 x)))))
(* -1 (* x (- 12 (* 3 (/ 1 x)))))
(* 9 (pow x 2))
(* (pow x 2) (- 9 (* 12 (/ 1 x))))
(* (pow x 2) (+ 9 (* -1 (/ (- 12 (* 3 (/ 1 x))) x))))
(* (pow x 2) (+ 9 (* -1 (/ (- 12 (* 3 (/ 1 x))) x))))
(* 9 (pow x 2))
(* 9 (pow x 2))
(* 9 (pow x 2))
(* 9 (pow x 2))
(* 9 x)
(* 9 x)
(* 9 x)
(* 9 x)
(* 9 (pow x 2))
(* (pow x 2) (- 9 (* 12 (/ 1 x))))
(* (pow x 2) (+ 9 (* -1 (/ (- 12 (* 3 (/ 1 x))) x))))
(* (pow x 2) (+ 9 (* -1 (/ (- 12 (* 3 (/ 1 x))) x))))
(* 9 (pow x 2))
(* (pow x 2) (- 9 (* 12 (/ 1 x))))
(* (pow x 2) (- 9 (* 12 (/ 1 x))))
(* (pow x 2) (- 9 (* 12 (/ 1 x))))
(* 9 (pow x 2))
(* 9 (pow x 2))
(* 9 (pow x 2))
(* 9 (pow x 2))
(* 9 (pow x 2))
(* (pow x 2) (- 9 (* 12 (/ 1 x))))
(* (pow x 2) (+ 9 (* -1 (/ (- 12 (* 3 (/ 1 x))) x))))
(* (pow x 2) (+ 9 (* -1 (/ (- 12 (* 3 (/ 1 x))) x))))
(* 3 x)
(* 3 x)
(* 3 x)
(* 3 x)
Outputs
#s(literal 3 binary64)
(fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64))
(fma.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x #s(literal 3 binary64))
(fma.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x #s(literal 3 binary64))
#s(literal -12 binary64)
(fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64))
(fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64))
(fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64))
#s(literal 3 binary64)
(fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64))
(fma.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x #s(literal 3 binary64))
(fma.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x #s(literal 3 binary64))
#s(literal 3 binary64)
(fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64))
(fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64))
(fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64))
#s(literal 3 binary64)
(fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64))
(fma.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x #s(literal 3 binary64))
(fma.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x #s(literal 3 binary64))
(*.f64 (*.f64 x x) #s(literal 9 binary64))
(*.f64 (*.f64 x x) #s(literal 9 binary64))
(*.f64 (*.f64 x x) #s(literal 9 binary64))
(*.f64 (*.f64 x x) #s(literal 9 binary64))
(*.f64 #s(literal 9 binary64) x)
(*.f64 #s(literal 9 binary64) x)
(*.f64 #s(literal 9 binary64) x)
(*.f64 #s(literal 9 binary64) x)
#s(literal 3 binary64)
(fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64))
(fma.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x #s(literal 3 binary64))
(fma.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x #s(literal 3 binary64))
(*.f64 #s(literal -12 binary64) x)
(*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x)
(*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x)
(*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x)
(*.f64 (*.f64 x x) #s(literal 9 binary64))
(*.f64 (*.f64 x x) #s(literal 9 binary64))
(*.f64 (*.f64 x x) #s(literal 9 binary64))
(*.f64 (*.f64 x x) #s(literal 9 binary64))
#s(literal 3 binary64)
(fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64))
(fma.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x #s(literal 3 binary64))
(fma.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x #s(literal 3 binary64))
(*.f64 #s(literal 3 binary64) x)
(*.f64 #s(literal 3 binary64) x)
(*.f64 #s(literal 3 binary64) x)
(*.f64 #s(literal 3 binary64) x)
(*.f64 (*.f64 x x) #s(literal 9 binary64))
(*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x)
(fma.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x #s(literal 3 binary64))
(fma.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x #s(literal 3 binary64))
(*.f64 #s(literal 9 binary64) x)
(fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64))
(fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64))
(fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64))
(*.f64 (*.f64 x x) #s(literal 9 binary64))
(*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x)
(fma.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x #s(literal 3 binary64))
(fma.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x #s(literal 3 binary64))
(*.f64 #s(literal -12 binary64) x)
(fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64))
(fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64))
(fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64))
(*.f64 (*.f64 x x) #s(literal 9 binary64))
(*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x)
(fma.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x #s(literal 3 binary64))
(fma.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x #s(literal 3 binary64))
(*.f64 (*.f64 x x) #s(literal 9 binary64))
(*.f64 (*.f64 x x) #s(literal 9 binary64))
(*.f64 (*.f64 x x) #s(literal 9 binary64))
(*.f64 (*.f64 x x) #s(literal 9 binary64))
(*.f64 #s(literal 9 binary64) x)
(*.f64 #s(literal 9 binary64) x)
(*.f64 #s(literal 9 binary64) x)
(*.f64 #s(literal 9 binary64) x)
(*.f64 (*.f64 x x) #s(literal 9 binary64))
(*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x)
(fma.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x #s(literal 3 binary64))
(fma.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x #s(literal 3 binary64))
(*.f64 (*.f64 x x) #s(literal 9 binary64))
(*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x)
(*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x)
(*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x)
(*.f64 (*.f64 x x) #s(literal 9 binary64))
(*.f64 (*.f64 x x) #s(literal 9 binary64))
(*.f64 (*.f64 x x) #s(literal 9 binary64))
(*.f64 (*.f64 x x) #s(literal 9 binary64))
(*.f64 (*.f64 x x) #s(literal 9 binary64))
(*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x)
(fma.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x #s(literal 3 binary64))
(fma.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x #s(literal 3 binary64))
(*.f64 #s(literal 3 binary64) x)
(*.f64 #s(literal 3 binary64) x)
(*.f64 #s(literal 3 binary64) x)
(*.f64 #s(literal 3 binary64) x)
(*.f64 (*.f64 x x) #s(literal 9 binary64))
(*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x)
(fma.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x #s(literal 3 binary64))
(fma.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x #s(literal 3 binary64))
(*.f64 #s(literal 9 binary64) x)
(fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64))
(fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64))
(fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64))
(*.f64 (*.f64 x x) #s(literal 9 binary64))
(*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x)
(fma.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x #s(literal 3 binary64))
(fma.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x #s(literal 3 binary64))
(*.f64 #s(literal -12 binary64) x)
(fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64))
(fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64))
(fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64))
(*.f64 (*.f64 x x) #s(literal 9 binary64))
(*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x)
(fma.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x #s(literal 3 binary64))
(fma.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x #s(literal 3 binary64))
(*.f64 (*.f64 x x) #s(literal 9 binary64))
(*.f64 (*.f64 x x) #s(literal 9 binary64))
(*.f64 (*.f64 x x) #s(literal 9 binary64))
(*.f64 (*.f64 x x) #s(literal 9 binary64))
(*.f64 #s(literal 9 binary64) x)
(*.f64 #s(literal 9 binary64) x)
(*.f64 #s(literal 9 binary64) x)
(*.f64 #s(literal 9 binary64) x)
(*.f64 (*.f64 x x) #s(literal 9 binary64))
(*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x)
(fma.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x #s(literal 3 binary64))
(fma.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x #s(literal 3 binary64))
(*.f64 (*.f64 x x) #s(literal 9 binary64))
(*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x)
(*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x)
(*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x)
(*.f64 (*.f64 x x) #s(literal 9 binary64))
(*.f64 (*.f64 x x) #s(literal 9 binary64))
(*.f64 (*.f64 x x) #s(literal 9 binary64))
(*.f64 (*.f64 x x) #s(literal 9 binary64))
(*.f64 (*.f64 x x) #s(literal 9 binary64))
(*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x)
(fma.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x #s(literal 3 binary64))
(fma.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x #s(literal 3 binary64))
(*.f64 #s(literal 3 binary64) x)
(*.f64 #s(literal 3 binary64) x)
(*.f64 #s(literal 3 binary64) x)
(*.f64 #s(literal 3 binary64) x)

rewrite231.0ms (3.9%)

Memory
24.4MiB live, 215.9MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
029111
038101
115297
2112297
0854993
Stop Event
iter limit
node limit
iter limit
Counts
12 → 255
Calls
Call 1
Inputs
(fma.f64 x (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) #s(literal 3 binary64))
(fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64))
#s(approx (+ (* (* x x) 9) (+ (* -12 x) 3)) (fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64)))
(fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64))
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (*.f64 (*.f64 #s(literal 9 binary64) x) x))
(*.f64 (*.f64 #s(literal 9 binary64) x) x)
(*.f64 #s(literal 9 binary64) x)
#s(approx (+ (* (* x x) 9) (+ (* -12 x) 3)) (*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x))
(*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x)
(*.f64 (*.f64 #s(literal 3 binary64) x) (*.f64 #s(literal 3 binary64) x))
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (*.f64 (*.f64 #s(literal 3 binary64) x) (*.f64 #s(literal 3 binary64) x)))
(*.f64 #s(literal 3 binary64) 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>

eval309.0ms (5.3%)

Memory
-14.7MiB live, 138.6MiB allocated
Compiler

Compiled 11 382 to 862 computations (92.4% saved)

prune186.0ms (3.2%)

Memory
3.7MiB live, 81.5MiB allocated
Pruning

10 alts after pruning (2 fresh and 8 done)

PrunedKeptTotal
New4671468
Fresh011
Picked055
Done033
Total46710477
Accuracy
100.0%
Counts
477 → 10
Alt Table
Click to see full alt table
StatusAccuracyProgram
48.2%
(fma.f64 (*.f64 x x) #s(literal 9 binary64) #s(approx (+ (* -12 x) 3) (*.f64 #s(literal -12 binary64) x)))
99.9%
(fma.f64 x (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) #s(literal 3 binary64))
55.0%
(*.f64 #s(literal 3 binary64) #s(approx (+ (- (* (* x 3) x) (* x 4)) 1) (fma.f64 #s(literal -4 binary64) x #s(literal 1 binary64))))
55.0%
#s(approx (+ (* (* x x) 9) (+ (* -12 x) 3)) (fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64)))
48.1%
#s(approx (+ (* (* x x) 9) (+ (* -12 x) 3)) (*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x))
4.0%
#s(approx (+ (* (* x x) 9) (+ (* -12 x) 3)) (*.f64 #s(approx (+ (* 9 x) -12) #s(literal -12 binary64)) x))
48.1%
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (*.f64 (*.f64 x x) #s(literal 9 binary64)))
48.0%
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (*.f64 (*.f64 #s(literal 9 binary64) x) x))
48.0%
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (*.f64 (*.f64 #s(literal 3 binary64) x) (*.f64 #s(literal 3 binary64) x)))
54.2%
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) #s(literal 3 binary64))
Compiler

Compiled 168 to 128 computations (23.8% saved)

simplify4.0ms (0.1%)

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

Found 7 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 #s(literal -12 binary64) x)
cost-diff0
#s(approx (+ (* -12 x) 3) (*.f64 #s(literal -12 binary64) x))
cost-diff0
(*.f64 x x)
cost-diff0
(fma.f64 (*.f64 x x) #s(literal 9 binary64) #s(approx (+ (* -12 x) 3) (*.f64 #s(literal -12 binary64) x)))
cost-diff0
#s(approx (+ (* 9 x) -12) #s(literal -12 binary64))
cost-diff0
(*.f64 #s(approx (+ (* 9 x) -12) #s(literal -12 binary64)) x)
cost-diff0
#s(approx (+ (* (* x x) 9) (+ (* -12 x) 3)) (*.f64 #s(approx (+ (* 9 x) -12) #s(literal -12 binary64)) x))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01871
02371
13569
24469
34769
04762
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
#s(approx (+ (* (* x x) 9) (+ (* -12 x) 3)) (*.f64 #s(approx (+ (* 9 x) -12) #s(literal -12 binary64)) x))
(*.f64 #s(approx (+ (* 9 x) -12) #s(literal -12 binary64)) x)
#s(approx (+ (* 9 x) -12) #s(literal -12 binary64))
#s(literal -12 binary64)
x
(fma.f64 (*.f64 x x) #s(literal 9 binary64) #s(approx (+ (* -12 x) 3) (*.f64 #s(literal -12 binary64) x)))
(*.f64 x x)
x
#s(literal 9 binary64)
#s(approx (+ (* -12 x) 3) (*.f64 #s(literal -12 binary64) x))
(*.f64 #s(literal -12 binary64) x)
#s(literal -12 binary64)
Outputs
#s(approx (+ (* (* x x) 9) (+ (* -12 x) 3)) (*.f64 #s(approx (+ (* 9 x) -12) #s(literal -12 binary64)) x))
(*.f64 #s(approx (+ (* 9 x) -12) #s(literal -12 binary64)) x)
#s(approx (+ (* 9 x) -12) #s(literal -12 binary64))
#s(literal -12 binary64)
x
(fma.f64 (*.f64 x x) #s(literal 9 binary64) #s(approx (+ (* -12 x) 3) (*.f64 #s(literal -12 binary64) x)))
(*.f64 x x)
x
#s(literal 9 binary64)
#s(approx (+ (* -12 x) 3) (*.f64 #s(literal -12 binary64) x))
(*.f64 #s(literal -12 binary64) x)
#s(literal -12 binary64)

localize86.0ms (1.5%)

Memory
-26.0MiB live, 65.3MiB allocated
Localize:

Found 7 expressions of interest:

NewMetricScoreProgram
accuracy0
(*.f64 x x)
accuracy0
(*.f64 #s(literal -12 binary64) x)
accuracy0.046875
(fma.f64 (*.f64 x x) #s(literal 9 binary64) #s(approx (+ (* -12 x) 3) (*.f64 #s(literal -12 binary64) x)))
accuracy33.411704117755974
#s(approx (+ (* -12 x) 3) (*.f64 #s(literal -12 binary64) x))
accuracy0.125
(*.f64 #s(approx (+ (* 9 x) -12) #s(literal -12 binary64)) x)
accuracy29.544822365886155
#s(approx (+ (* 9 x) -12) #s(literal -12 binary64))
accuracy33.13519885913676
#s(approx (+ (* (* x x) 9) (+ (* -12 x) 3)) (*.f64 #s(approx (+ (* 9 x) -12) #s(literal -12 binary64)) x))
Samples
28.0ms212×0valid
12.0ms23×2valid
3.0ms21×1valid
Compiler

Compiled 123 to 34 computations (72.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 22.0ms
ival-add: 12.0ms (53.4% of total)
ival-mult: 8.0ms (35.6% of total)
adjust: 2.0ms (8.9% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series6.0ms (0.1%)

Memory
12.2MiB live, 12.2MiB allocated
Counts
7 → 84
Calls
Call 1
Inputs
#s(alt #<batchref> (patch #s(approx (+ (* (* x x) 9) (+ (* -12 x) 3)) (*.f64 #s(approx (+ (* 9 x) -12) #s(literal -12 binary64)) x)) #<representation binary64>) () ())
#s(alt #<batchref> (patch (*.f64 #s(approx (+ (* 9 x) -12) #s(literal -12 binary64)) x) #<representation binary64>) () ())
#s(alt #<batchref> (patch #s(approx (+ (* 9 x) -12) #s(literal -12 binary64)) #<representation binary64>) () ())
#s(alt #<batchref> (patch (fma.f64 (*.f64 x x) #s(literal 9 binary64) #s(approx (+ (* -12 x) 3) (*.f64 #s(literal -12 binary64) x))) #<representation binary64>) () ())
#s(alt #<batchref> (patch (*.f64 x x) #<representation binary64>) () ())
#s(alt #<batchref> (patch #s(approx (+ (* -12 x) 3) (*.f64 #s(literal -12 binary64) x)) #<representation binary64>) () ())
#s(alt #<batchref> (patch (*.f64 #s(literal -12 binary64) x) #<representation binary64>) () ())
Outputs
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (+ (* (* x x) 9) (+ (* -12 x) 3)) (*.f64 #s(approx (+ (* 9 x) -12) #s(literal -12 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (+ (* (* x x) 9) (+ (* -12 x) 3)) (*.f64 #s(approx (+ (* 9 x) -12) #s(literal -12 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (+ (* (* x x) 9) (+ (* -12 x) 3)) (*.f64 #s(approx (+ (* 9 x) -12) #s(literal -12 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (+ (* (* x x) 9) (+ (* -12 x) 3)) (*.f64 #s(approx (+ (* 9 x) -12) #s(literal -12 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 #s(approx (+ (* 9 x) -12) #s(literal -12 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 #s(approx (+ (* 9 x) -12) #s(literal -12 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 #s(approx (+ (* 9 x) -12) #s(literal -12 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 #s(approx (+ (* 9 x) -12) #s(literal -12 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (+ (* 9 x) -12) #s(literal -12 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (+ (* 9 x) -12) #s(literal -12 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (+ (* 9 x) -12) #s(literal -12 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (+ (* 9 x) -12) #s(literal -12 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 x x) #s(literal 9 binary64) #s(approx (+ (* -12 x) 3) (*.f64 #s(literal -12 binary64) x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 x x) #s(literal 9 binary64) #s(approx (+ (* -12 x) 3) (*.f64 #s(literal -12 binary64) x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 x x) #s(literal 9 binary64) #s(approx (+ (* -12 x) 3) (*.f64 #s(literal -12 binary64) x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 x x) #s(literal 9 binary64) #s(approx (+ (* -12 x) 3) (*.f64 #s(literal -12 binary64) x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (+ (* -12 x) 3) (*.f64 #s(literal -12 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (+ (* -12 x) 3) (*.f64 #s(literal -12 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (+ (* -12 x) 3) (*.f64 #s(literal -12 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (+ (* -12 x) 3) (*.f64 #s(literal -12 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 #s(literal -12 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 #s(literal -12 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 #s(literal -12 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 #s(literal -12 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (+ (* (* x x) 9) (+ (* -12 x) 3)) (*.f64 #s(approx (+ (* 9 x) -12) #s(literal -12 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (+ (* (* x x) 9) (+ (* -12 x) 3)) (*.f64 #s(approx (+ (* 9 x) -12) #s(literal -12 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (+ (* (* x x) 9) (+ (* -12 x) 3)) (*.f64 #s(approx (+ (* 9 x) -12) #s(literal -12 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (+ (* (* x x) 9) (+ (* -12 x) 3)) (*.f64 #s(approx (+ (* 9 x) -12) #s(literal -12 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 #s(approx (+ (* 9 x) -12) #s(literal -12 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 #s(approx (+ (* 9 x) -12) #s(literal -12 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 #s(approx (+ (* 9 x) -12) #s(literal -12 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 #s(approx (+ (* 9 x) -12) #s(literal -12 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (+ (* 9 x) -12) #s(literal -12 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (+ (* 9 x) -12) #s(literal -12 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (+ (* 9 x) -12) #s(literal -12 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (+ (* 9 x) -12) #s(literal -12 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 x x) #s(literal 9 binary64) #s(approx (+ (* -12 x) 3) (*.f64 #s(literal -12 binary64) x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 x x) #s(literal 9 binary64) #s(approx (+ (* -12 x) 3) (*.f64 #s(literal -12 binary64) x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 x x) #s(literal 9 binary64) #s(approx (+ (* -12 x) 3) (*.f64 #s(literal -12 binary64) x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 x x) #s(literal 9 binary64) #s(approx (+ (* -12 x) 3) (*.f64 #s(literal -12 binary64) x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (+ (* -12 x) 3) (*.f64 #s(literal -12 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (+ (* -12 x) 3) (*.f64 #s(literal -12 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (+ (* -12 x) 3) (*.f64 #s(literal -12 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (+ (* -12 x) 3) (*.f64 #s(literal -12 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal -12 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal -12 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal -12 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal -12 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (+ (* (* x x) 9) (+ (* -12 x) 3)) (*.f64 #s(approx (+ (* 9 x) -12) #s(literal -12 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (+ (* (* x x) 9) (+ (* -12 x) 3)) (*.f64 #s(approx (+ (* 9 x) -12) #s(literal -12 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (+ (* (* x x) 9) (+ (* -12 x) 3)) (*.f64 #s(approx (+ (* 9 x) -12) #s(literal -12 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (+ (* (* x x) 9) (+ (* -12 x) 3)) (*.f64 #s(approx (+ (* 9 x) -12) #s(literal -12 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 #s(approx (+ (* 9 x) -12) #s(literal -12 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 #s(approx (+ (* 9 x) -12) #s(literal -12 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 #s(approx (+ (* 9 x) -12) #s(literal -12 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 #s(approx (+ (* 9 x) -12) #s(literal -12 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (+ (* 9 x) -12) #s(literal -12 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (+ (* 9 x) -12) #s(literal -12 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (+ (* 9 x) -12) #s(literal -12 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (+ (* 9 x) -12) #s(literal -12 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 x x) #s(literal 9 binary64) #s(approx (+ (* -12 x) 3) (*.f64 #s(literal -12 binary64) x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 x x) #s(literal 9 binary64) #s(approx (+ (* -12 x) 3) (*.f64 #s(literal -12 binary64) x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 x x) #s(literal 9 binary64) #s(approx (+ (* -12 x) 3) (*.f64 #s(literal -12 binary64) x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 x x) #s(literal 9 binary64) #s(approx (+ (* -12 x) 3) (*.f64 #s(literal -12 binary64) x))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (+ (* -12 x) 3) (*.f64 #s(literal -12 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (+ (* -12 x) 3) (*.f64 #s(literal -12 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (+ (* -12 x) 3) (*.f64 #s(literal -12 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (+ (* -12 x) 3) (*.f64 #s(literal -12 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal -12 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal -12 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal -12 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal -12 binary64) x) #<representation binary64>) () ())) ())
Calls

3 calls:

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

simplify177.0ms (3%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
038420
1101420
2250420
3648420
41713420
53424420
65128420
76403420
87597420
08040363
Stop Event
iter limit
node limit
Counts
84 → 84
Calls
Call 1
Inputs
3
(+ 3 (* -12 x))
(+ 3 (* x (- (* 9 x) 12)))
(+ 3 (* x (- (* 9 x) 12)))
(* -12 x)
(* x (- (* 9 x) 12))
(* x (- (* 9 x) 12))
(* x (- (* 9 x) 12))
-12
(- (* 9 x) 12)
(- (* 9 x) 12)
(- (* 9 x) 12)
3
(+ 3 (* -12 x))
(+ 3 (* x (- (* 9 x) 12)))
(+ 3 (* x (- (* 9 x) 12)))
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
3
(+ 3 (* -12 x))
(+ 3 (* -12 x))
(+ 3 (* -12 x))
(* -12 x)
(* -12 x)
(* -12 x)
(* -12 x)
(* 9 (pow x 2))
(* (pow x 2) (- 9 (* 12 (/ 1 x))))
(* (pow x 2) (- (+ 9 (/ 3 (pow x 2))) (* 12 (/ 1 x))))
(* (pow x 2) (- (+ 9 (/ 3 (pow x 2))) (* 12 (/ 1 x))))
(* 9 (pow x 2))
(* (pow x 2) (- 9 (* 12 (/ 1 x))))
(* (pow x 2) (- 9 (* 12 (/ 1 x))))
(* (pow x 2) (- 9 (* 12 (/ 1 x))))
(* 9 x)
(* x (- 9 (* 12 (/ 1 x))))
(* x (- 9 (* 12 (/ 1 x))))
(* x (- 9 (* 12 (/ 1 x))))
(* 9 (pow x 2))
(* (pow x 2) (- 9 (* 12 (/ 1 x))))
(* (pow x 2) (- (+ 9 (/ 3 (pow x 2))) (* 12 (/ 1 x))))
(* (pow x 2) (- (+ 9 (/ 3 (pow x 2))) (* 12 (/ 1 x))))
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(* -12 x)
(* x (- (* 3 (/ 1 x)) 12))
(* x (- (* 3 (/ 1 x)) 12))
(* x (- (* 3 (/ 1 x)) 12))
(* -12 x)
(* -12 x)
(* -12 x)
(* -12 x)
(* 9 (pow x 2))
(* (pow x 2) (- 9 (* 12 (/ 1 x))))
(* (pow x 2) (+ 9 (* -1 (/ (- 12 (* 3 (/ 1 x))) x))))
(* (pow x 2) (+ 9 (* -1 (/ (- 12 (* 3 (/ 1 x))) x))))
(* 9 (pow x 2))
(* (pow x 2) (- 9 (* 12 (/ 1 x))))
(* (pow x 2) (- 9 (* 12 (/ 1 x))))
(* (pow x 2) (- 9 (* 12 (/ 1 x))))
(* 9 x)
(* -1 (* x (- (* 12 (/ 1 x)) 9)))
(* -1 (* x (- (* 12 (/ 1 x)) 9)))
(* -1 (* x (- (* 12 (/ 1 x)) 9)))
(* 9 (pow x 2))
(* (pow x 2) (- 9 (* 12 (/ 1 x))))
(* (pow x 2) (+ 9 (* -1 (/ (- 12 (* 3 (/ 1 x))) x))))
(* (pow x 2) (+ 9 (* -1 (/ (- 12 (* 3 (/ 1 x))) x))))
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(* -12 x)
(* -1 (* x (- 12 (* 3 (/ 1 x)))))
(* -1 (* x (- 12 (* 3 (/ 1 x)))))
(* -1 (* x (- 12 (* 3 (/ 1 x)))))
(* -12 x)
(* -12 x)
(* -12 x)
(* -12 x)
Outputs
#s(literal 3 binary64)
(fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64))
(fma.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x #s(literal 3 binary64))
(fma.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x #s(literal 3 binary64))
(*.f64 #s(literal -12 binary64) x)
(*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x)
(*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x)
(*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x)
#s(literal -12 binary64)
(fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64))
(fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64))
(fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64))
#s(literal 3 binary64)
(fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64))
(fma.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x #s(literal 3 binary64))
(fma.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x #s(literal 3 binary64))
(*.f64 x x)
(*.f64 x x)
(*.f64 x x)
(*.f64 x x)
#s(literal 3 binary64)
(fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64))
(fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64))
(fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64))
(*.f64 #s(literal -12 binary64) x)
(*.f64 #s(literal -12 binary64) x)
(*.f64 #s(literal -12 binary64) x)
(*.f64 #s(literal -12 binary64) x)
(*.f64 (*.f64 x x) #s(literal 9 binary64))
(*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x)
(fma.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x #s(literal 3 binary64))
(fma.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x #s(literal 3 binary64))
(*.f64 (*.f64 x x) #s(literal 9 binary64))
(*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x)
(*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x)
(*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x)
(*.f64 #s(literal 9 binary64) x)
(fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64))
(fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64))
(fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64))
(*.f64 (*.f64 x x) #s(literal 9 binary64))
(*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x)
(fma.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x #s(literal 3 binary64))
(fma.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x #s(literal 3 binary64))
(*.f64 x x)
(*.f64 x x)
(*.f64 x x)
(*.f64 x x)
(*.f64 #s(literal -12 binary64) x)
(fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64))
(fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64))
(fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64))
(*.f64 #s(literal -12 binary64) x)
(*.f64 #s(literal -12 binary64) x)
(*.f64 #s(literal -12 binary64) x)
(*.f64 #s(literal -12 binary64) x)
(*.f64 (*.f64 x x) #s(literal 9 binary64))
(*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x)
(fma.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x #s(literal 3 binary64))
(fma.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x #s(literal 3 binary64))
(*.f64 (*.f64 x x) #s(literal 9 binary64))
(*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x)
(*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x)
(*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x)
(*.f64 #s(literal 9 binary64) x)
(fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64))
(fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64))
(fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64))
(*.f64 (*.f64 x x) #s(literal 9 binary64))
(*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x)
(fma.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x #s(literal 3 binary64))
(fma.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x #s(literal 3 binary64))
(*.f64 x x)
(*.f64 x x)
(*.f64 x x)
(*.f64 x x)
(*.f64 #s(literal -12 binary64) x)
(fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64))
(fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64))
(fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64))
(*.f64 #s(literal -12 binary64) x)
(*.f64 #s(literal -12 binary64) x)
(*.f64 #s(literal -12 binary64) x)
(*.f64 #s(literal -12 binary64) x)

rewrite234.0ms (4%)

Memory
26.5MiB live, 300.1MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01866
02366
18664
262864
3796664
0839457
Stop Event
iter limit
node limit
iter limit
Counts
7 → 84
Calls
Call 1
Inputs
#s(approx (+ (* (* x x) 9) (+ (* -12 x) 3)) (*.f64 #s(approx (+ (* 9 x) -12) #s(literal -12 binary64)) x))
(*.f64 #s(approx (+ (* 9 x) -12) #s(literal -12 binary64)) x)
#s(approx (+ (* 9 x) -12) #s(literal -12 binary64))
(fma.f64 (*.f64 x x) #s(literal 9 binary64) #s(approx (+ (* -12 x) 3) (*.f64 #s(literal -12 binary64) x)))
(*.f64 x x)
#s(approx (+ (* -12 x) 3) (*.f64 #s(literal -12 binary64) x))
(*.f64 #s(literal -12 binary64) 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>

eval31.0ms (0.5%)

Memory
-20.5MiB live, 54.7MiB allocated
Compiler

Compiled 5 571 to 270 computations (95.2% saved)

prune9.0ms (0.2%)

Memory
28.4MiB live, 28.4MiB allocated
Pruning

10 alts after pruning (0 fresh and 10 done)

PrunedKeptTotal
New1680168
Fresh000
Picked022
Done088
Total16810178
Accuracy
100.0%
Counts
178 → 10
Alt Table
Click to see full alt table
StatusAccuracyProgram
48.2%
(fma.f64 (*.f64 x x) #s(literal 9 binary64) #s(approx (+ (* -12 x) 3) (*.f64 #s(literal -12 binary64) x)))
99.9%
(fma.f64 x (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) #s(literal 3 binary64))
55.0%
(*.f64 #s(literal 3 binary64) #s(approx (+ (- (* (* x 3) x) (* x 4)) 1) (fma.f64 #s(literal -4 binary64) x #s(literal 1 binary64))))
55.0%
#s(approx (+ (* (* x x) 9) (+ (* -12 x) 3)) (fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64)))
48.1%
#s(approx (+ (* (* x x) 9) (+ (* -12 x) 3)) (*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x))
4.0%
#s(approx (+ (* (* x x) 9) (+ (* -12 x) 3)) (*.f64 #s(approx (+ (* 9 x) -12) #s(literal -12 binary64)) x))
48.1%
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (*.f64 (*.f64 x x) #s(literal 9 binary64)))
48.0%
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (*.f64 (*.f64 #s(literal 9 binary64) x) x))
48.0%
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (*.f64 (*.f64 #s(literal 3 binary64) x) (*.f64 #s(literal 3 binary64) x)))
54.2%
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) #s(literal 3 binary64))
Compiler

Compiled 445 to 194 computations (56.4% saved)

regimes71.0ms (1.2%)

Memory
-20.6MiB live, 89.3MiB allocated
Counts
17 → 1
Calls
Call 1
Inputs
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) #s(literal 3 binary64))
#s(approx (+ (* (* x x) 9) (+ (* -12 x) 3)) (*.f64 #s(approx (+ (* 9 x) -12) #s(literal -12 binary64)) x))
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64)))
#s(approx (+ (* (* x x) 9) (+ (* -12 x) 3)) (fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64)))
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (*.f64 (*.f64 #s(literal 9 binary64) x) x))
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (*.f64 (*.f64 x x) #s(literal 9 binary64)))
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x))
#s(approx (+ (* (* x x) 9) (+ (* -12 x) 3)) (*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x))
(*.f64 #s(literal 3 binary64) #s(approx (+ (- (* (* x 3) x) (* x 4)) 1) (fma.f64 #s(literal -4 binary64) x #s(literal 1 binary64))))
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (fma.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x #s(literal 3 binary64)))
(fma.f64 x (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) #s(literal 3 binary64))
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (*.f64 (*.f64 #s(literal 3 binary64) x) (*.f64 #s(literal 3 binary64) x)))
(*.f64 #s(literal 3 binary64) #s(approx (+ (- (* (* x 3) x) (* x 4)) 1) (*.f64 (*.f64 x x) #s(literal 3 binary64))))
(fma.f64 (*.f64 x x) #s(literal 9 binary64) #s(approx (+ (* -12 x) 3) (*.f64 #s(literal -12 binary64) x)))
(fma.f64 (*.f64 #s(literal 3 binary64) x) (fma.f64 #s(literal 3 binary64) x #s(literal -4 binary64)) #s(literal 3 binary64))
(fma.f64 (*.f64 x x) #s(literal 9 binary64) (fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64)))
(*.f64 #s(literal 3 binary64) (+.f64 (-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64))) #s(literal 1 binary64)))
Outputs
(fma.f64 (*.f64 x x) #s(literal 9 binary64) (fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64)))
Calls

4 calls:

54.0ms
x
7.0ms
(-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64)))
5.0ms
(+.f64 (-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64))) #s(literal 1 binary64))
5.0ms
(*.f64 #s(literal 3 binary64) (+.f64 (-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64))) #s(literal 1 binary64)))
Results
AccuracySegmentsBranch
99.9%1x
99.9%1(*.f64 #s(literal 3 binary64) (+.f64 (-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64))) #s(literal 1 binary64)))
99.9%1(+.f64 (-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64))) #s(literal 1 binary64))
99.9%1(-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64)))
Compiler

Compiled 34 to 27 computations (20.6% saved)

regimes69.0ms (1.2%)

Memory
-7.5MiB live, 32.1MiB allocated
Counts
15 → 1
Calls
Call 1
Inputs
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) #s(literal 3 binary64))
#s(approx (+ (* (* x x) 9) (+ (* -12 x) 3)) (*.f64 #s(approx (+ (* 9 x) -12) #s(literal -12 binary64)) x))
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64)))
#s(approx (+ (* (* x x) 9) (+ (* -12 x) 3)) (fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64)))
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (*.f64 (*.f64 #s(literal 9 binary64) x) x))
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (*.f64 (*.f64 x x) #s(literal 9 binary64)))
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x))
#s(approx (+ (* (* x x) 9) (+ (* -12 x) 3)) (*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x))
(*.f64 #s(literal 3 binary64) #s(approx (+ (- (* (* x 3) x) (* x 4)) 1) (fma.f64 #s(literal -4 binary64) x #s(literal 1 binary64))))
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (fma.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x #s(literal 3 binary64)))
(fma.f64 x (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) #s(literal 3 binary64))
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (*.f64 (*.f64 #s(literal 3 binary64) x) (*.f64 #s(literal 3 binary64) x)))
(*.f64 #s(literal 3 binary64) #s(approx (+ (- (* (* x 3) x) (* x 4)) 1) (*.f64 (*.f64 x x) #s(literal 3 binary64))))
(fma.f64 (*.f64 x x) #s(literal 9 binary64) #s(approx (+ (* -12 x) 3) (*.f64 #s(literal -12 binary64) x)))
(fma.f64 (*.f64 #s(literal 3 binary64) x) (fma.f64 #s(literal 3 binary64) x #s(literal -4 binary64)) #s(literal 3 binary64))
Outputs
(fma.f64 (*.f64 #s(literal 3 binary64) x) (fma.f64 #s(literal 3 binary64) x #s(literal -4 binary64)) #s(literal 3 binary64))
Calls

4 calls:

5.0ms
(-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64)))
5.0ms
x
4.0ms
(+.f64 (-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64))) #s(literal 1 binary64))
4.0ms
(*.f64 #s(literal 3 binary64) (+.f64 (-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64))) #s(literal 1 binary64)))
Results
AccuracySegmentsBranch
99.9%1x
99.9%1(*.f64 #s(literal 3 binary64) (+.f64 (-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64))) #s(literal 1 binary64)))
99.9%1(+.f64 (-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64))) #s(literal 1 binary64))
99.9%1(-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64)))
Compiler

Compiled 34 to 27 computations (20.6% saved)

regimes104.0ms (1.8%)

Memory
-4.7MiB live, 34.1MiB allocated
Counts
14 → 1
Calls
Call 1
Inputs
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) #s(literal 3 binary64))
#s(approx (+ (* (* x x) 9) (+ (* -12 x) 3)) (*.f64 #s(approx (+ (* 9 x) -12) #s(literal -12 binary64)) x))
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64)))
#s(approx (+ (* (* x x) 9) (+ (* -12 x) 3)) (fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64)))
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (*.f64 (*.f64 #s(literal 9 binary64) x) x))
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (*.f64 (*.f64 x x) #s(literal 9 binary64)))
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x))
#s(approx (+ (* (* x x) 9) (+ (* -12 x) 3)) (*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x))
(*.f64 #s(literal 3 binary64) #s(approx (+ (- (* (* x 3) x) (* x 4)) 1) (fma.f64 #s(literal -4 binary64) x #s(literal 1 binary64))))
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (fma.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x #s(literal 3 binary64)))
(fma.f64 x (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) #s(literal 3 binary64))
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (*.f64 (*.f64 #s(literal 3 binary64) x) (*.f64 #s(literal 3 binary64) x)))
(*.f64 #s(literal 3 binary64) #s(approx (+ (- (* (* x 3) x) (* x 4)) 1) (*.f64 (*.f64 x x) #s(literal 3 binary64))))
(fma.f64 (*.f64 x x) #s(literal 9 binary64) #s(approx (+ (* -12 x) 3) (*.f64 #s(literal -12 binary64) x)))
Outputs
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (fma.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x #s(literal 3 binary64)))
Calls

4 calls:

89.0ms
(+.f64 (-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64))) #s(literal 1 binary64))
5.0ms
(-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64)))
5.0ms
x
4.0ms
(*.f64 #s(literal 3 binary64) (+.f64 (-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64))) #s(literal 1 binary64)))
Results
AccuracySegmentsBranch
99.9%1x
99.9%1(*.f64 #s(literal 3 binary64) (+.f64 (-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64))) #s(literal 1 binary64)))
99.9%1(+.f64 (-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64))) #s(literal 1 binary64))
99.9%1(-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64)))
Compiler

Compiled 34 to 27 computations (20.6% saved)

regimes84.0ms (1.4%)

Memory
-9.7MiB live, 29.4MiB allocated
Counts
9 → 2
Calls
Call 1
Inputs
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) #s(literal 3 binary64))
#s(approx (+ (* (* x x) 9) (+ (* -12 x) 3)) (*.f64 #s(approx (+ (* 9 x) -12) #s(literal -12 binary64)) x))
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64)))
#s(approx (+ (* (* x x) 9) (+ (* -12 x) 3)) (fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64)))
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (*.f64 (*.f64 #s(literal 9 binary64) x) x))
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (*.f64 (*.f64 x x) #s(literal 9 binary64)))
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x))
#s(approx (+ (* (* x x) 9) (+ (* -12 x) 3)) (*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x))
(*.f64 #s(literal 3 binary64) #s(approx (+ (- (* (* x 3) x) (* x 4)) 1) (fma.f64 #s(literal -4 binary64) x #s(literal 1 binary64))))
Outputs
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64)))
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x))
Calls

4 calls:

73.0ms
(+.f64 (-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64))) #s(literal 1 binary64))
4.0ms
(-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64)))
3.0ms
x
3.0ms
(*.f64 #s(literal 3 binary64) (+.f64 (-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64))) #s(literal 1 binary64)))
Results
AccuracySegmentsBranch
99.1%3x
99.1%2(*.f64 #s(literal 3 binary64) (+.f64 (-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64))) #s(literal 1 binary64)))
99.1%2(+.f64 (-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64))) #s(literal 1 binary64))
99.1%2(-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64)))
Compiler

Compiled 34 to 27 computations (20.6% saved)

regimes8.0ms (0.1%)

Memory
19.7MiB live, 19.7MiB allocated
Counts
6 → 2
Calls
Call 1
Inputs
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) #s(literal 3 binary64))
#s(approx (+ (* (* x x) 9) (+ (* -12 x) 3)) (*.f64 #s(approx (+ (* 9 x) -12) #s(literal -12 binary64)) x))
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64)))
#s(approx (+ (* (* x x) 9) (+ (* -12 x) 3)) (fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64)))
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (*.f64 (*.f64 #s(literal 9 binary64) x) x))
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (*.f64 (*.f64 x x) #s(literal 9 binary64)))
Outputs
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64)))
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (*.f64 (*.f64 x x) #s(literal 9 binary64)))
Calls

3 calls:

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

Compiled 33 to 26 computations (21.2% saved)

regimes14.0ms (0.2%)

Memory
-27.6MiB live, 13.9MiB allocated
Counts
5 → 2
Calls
Call 1
Inputs
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) #s(literal 3 binary64))
#s(approx (+ (* (* x x) 9) (+ (* -12 x) 3)) (*.f64 #s(approx (+ (* 9 x) -12) #s(literal -12 binary64)) x))
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64)))
#s(approx (+ (* (* x x) 9) (+ (* -12 x) 3)) (fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64)))
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (*.f64 (*.f64 #s(literal 9 binary64) x) x))
Outputs
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64)))
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (*.f64 (*.f64 #s(literal 9 binary64) x) x))
Calls

3 calls:

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

Compiled 33 to 26 computations (21.2% saved)

regimes9.0ms (0.2%)

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

4 calls:

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

Compiled 34 to 27 computations (20.6% saved)

regimes50.0ms (0.9%)

Memory
-21.6MiB live, 17.5MiB allocated
Accuracy

Total -32.6b remaining (-111.3%)

Threshold costs -32.6b (-111.3%)

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

4 calls:

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

Compiled 34 to 27 computations (20.6% saved)

bsearch0.0ms (0%)

Memory
0.9MiB live, 0.9MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.00021781979332904946
148296.1133207939
Compiler

Compiled 16 to 15 computations (6.3% saved)

bsearch0.0ms (0%)

Memory
0.7MiB live, 0.7MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.00021781979332904946
148296.1133207939
Compiler

Compiled 16 to 15 computations (6.3% saved)

bsearch1.0ms (0%)

Memory
1.0MiB live, 1.0MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.00021781979332904946
148296.1133207939
Compiler

Compiled 16 to 15 computations (6.3% saved)

simplify63.0ms (1.1%)

Memory
15.9MiB live, 55.5MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
040220
155220
266220
372220
476220
577220
Stop Event
saturated
Calls
Call 1
Inputs
(fma.f64 (*.f64 x x) #s(literal 9 binary64) (fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64)))
(fma.f64 (*.f64 #s(literal 3 binary64) x) (fma.f64 #s(literal 3 binary64) x #s(literal -4 binary64)) #s(literal 3 binary64))
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (fma.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x #s(literal 3 binary64)))
(if (<=.f64 (-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64))) #s(literal 7378697629483821/18446744073709551616 binary64)) #s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64))) #s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x)))
(if (<=.f64 (-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64))) #s(literal 7378697629483821/18446744073709551616 binary64)) #s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64))) #s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (*.f64 (*.f64 x x) #s(literal 9 binary64))))
(if (<=.f64 (-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64))) #s(literal 7378697629483821/18446744073709551616 binary64)) #s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64))) #s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (*.f64 (*.f64 #s(literal 9 binary64) x) x)))
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64)))
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) #s(literal 3 binary64))
Outputs
(fma.f64 (*.f64 x x) #s(literal 9 binary64) (fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64)))
(fma.f64 (*.f64 #s(literal 3 binary64) x) (fma.f64 #s(literal 3 binary64) x #s(literal -4 binary64)) #s(literal 3 binary64))
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (fma.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x #s(literal 3 binary64)))
(if (<=.f64 (-.f64 (*.f64 (*.f64 #s(literal 3 binary64) x) x) (*.f64 #s(literal 4 binary64) x)) #s(literal 7378697629483821/18446744073709551616 binary64)) #s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64))) #s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (*.f64 (fma.f64 #s(literal 9 binary64) x #s(literal -12 binary64)) x)))
(if (<=.f64 (-.f64 (*.f64 (*.f64 #s(literal 3 binary64) x) x) (*.f64 #s(literal 4 binary64) x)) #s(literal 7378697629483821/18446744073709551616 binary64)) #s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64))) #s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (*.f64 #s(literal 9 binary64) (*.f64 x x))))
(if (<=.f64 (-.f64 (*.f64 (*.f64 #s(literal 3 binary64) x) x) (*.f64 #s(literal 4 binary64) x)) #s(literal 7378697629483821/18446744073709551616 binary64)) #s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64))) #s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (*.f64 (*.f64 #s(literal 9 binary64) x) x)))
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) (fma.f64 #s(literal -12 binary64) x #s(literal 3 binary64)))
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) #s(literal 3 binary64))

soundness1.0s (17.2%)

Memory
-2.4MiB live, 595.1MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
025134
035134
1131122
2993122
08373108
051344
1137344
2323344
3756344
41962340
54238340
65965340
77680340
08020301
01041
01641
16135
245135
3737135
0860830
Stop Event
done
iter limit
node limit
iter limit
iter limit
node limit
iter limit
node limit
iter limit
Compiler

Compiled 307 to 111 computations (63.8% saved)

preprocess57.0ms (1%)

Memory
17.7MiB live, 133.6MiB allocated
Compiler

Compiled 488 to 120 computations (75.4% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...