x / (x^2 + 1)

Time bar (total: 4.7s)

start0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated; 0ms collecting garbage

analyze0.0ms (0%)

Memory
0.4MiB live, 0.4MiB allocated; 0ms collecting garbage
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%100%0%0%0%0%0
0%0%100%0%0%0%0%1
100%100%0%0%0%0%0%2
Compiler

Compiled 9 to 7 computations (22.2% saved)

sample1.0s (21.3%)

Memory
1.9MiB live, 638.9MiB allocated; 953ms collecting garbage
Samples
696.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 462.0ms
ival-mult: 329.0ms (71.2% of total)
ival-div: 74.0ms (16% of total)
ival-add: 43.0ms (9.3% of total)
ival-true: 6.0ms (1.3% of total)
exact: 5.0ms (1.1% of total)
ival-assert: 3.0ms (0.6% of total)
adjust: 2.0ms (0.4% of total)
Bogosity

explain111.0ms (2.4%)

Memory
1.1MiB live, 91.4MiB allocated; 12ms collecting garbage
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
690-0-(/.f64 x (+.f64 (*.f64 x x) #s(literal 1 binary64)))
00-0-#s(literal 1 binary64)
00-0-(+.f64 (*.f64 x x) #s(literal 1 binary64))
00-0-(*.f64 x x)
00-0-x
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
/.f64(/.f64 x (+.f64 (*.f64 x x) #s(literal 1 binary64)))n/o690
(*.f64 x x)overflow69
(+.f64 (*.f64 x x) #s(literal 1 binary64))overflow69
Confusion
Predicted +Predicted -
+690
-0187
Precision
1.0
Recall
1.0
Confusion?
Predicted +Predicted MaybePredicted -
+6900
-00187
Precision?
1.0
Recall?
1.0
Freqs
test
numberfreq
0187
169
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
73.0ms512×0valid
Compiler

Compiled 45 to 19 computations (57.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 59.0ms
ival-mult: 52.0ms (87.9% of total)
ival-div: 3.0ms (5.1% of total)
ival-add: 2.0ms (3.4% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess252.0ms (5.3%)

Memory
-7.5MiB live, 188.4MiB allocated; 46ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0717
12415
25914
38814
416114
540514
6275314
7646814
057
087
1157
2377
3777
41387
53477
623917
759917
082306
Stop Event
iter limit
node limit
iter limit
node limit
Calls
Call 1
Inputs
(/.f64 x (+.f64 (*.f64 x x) #s(literal 1 binary64)))
Outputs
(/.f64 x (+.f64 (*.f64 x x) #s(literal 1 binary64)))
(/.f64 x (fma.f64 x x #s(literal 1 binary64)))
Symmetry

(negabs x)

Compiler

Compiled 7 to 5 computations (28.6% saved)

eval0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated; 0ms collecting garbage
Compiler

Compiled 0 to 1 computations (-∞% saved)

prune0.0ms (0%)

Memory
0.7MiB live, 0.7MiB allocated; 0ms collecting garbage
Alt Table
Click to see full alt table
StatusAccuracyProgram
74.9%
(/.f64 x (+.f64 (*.f64 x x) #s(literal 1 binary64)))
Compiler

Compiled 7 to 5 computations (28.6% saved)

simplify179.0ms (3.8%)

Memory
2.5MiB live, 150.5MiB allocated; 21ms collecting garbage
Localize:

Found 3 expressions of interest:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0517
0817
11517
23717
37717
413817
534717
6239117
7599117
0823015
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(/.f64 x (+.f64 (*.f64 x x) #s(literal 1 binary64)))
x
(+.f64 (*.f64 x x) #s(literal 1 binary64))
(*.f64 x x)
#s(literal 1 binary64)
Outputs
(/.f64 x (+.f64 (*.f64 x x) #s(literal 1 binary64)))
(/.f64 x (fma.f64 x x #s(literal 1 binary64)))
x
(+.f64 (*.f64 x x) #s(literal 1 binary64))
(fma.f64 x x #s(literal 1 binary64))
(*.f64 x x)
#s(literal 1 binary64)

localize15.0ms (0.3%)

Memory
21.2MiB live, 21.1MiB allocated; 0ms collecting garbage
Localize:

Found 3 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(+.f64 (*.f64 x x) #s(literal 1 binary64))
accuracy0.0
(*.f64 x x)
accuracy16.063434571778895
(/.f64 x (+.f64 (*.f64 x x) #s(literal 1 binary64)))
Samples
10.0ms256×0valid
Compiler

Compiled 19 to 7 computations (63.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 5.0ms
ival-div: 2.0ms (40.7% of total)
ival-mult: 2.0ms (40.7% of total)
ival-add: 1.0ms (20.3% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series2.0ms (0.1%)

Memory
2.4MiB live, 2.4MiB allocated; 0ms collecting garbage
Counts
3 → 16
Calls
Call 1
Inputs
(+.f64 (*.f64 x x) #s(literal 1 binary64))
(/.f64 x (+.f64 (*.f64 x x) #s(literal 1 binary64)))
(*.f64 x x)
Outputs
#s(approx (+ (* x x) 1) #s(hole binary64 1))
#s(approx (+ (* x x) 1) #s(hole binary64 (+ 1 (pow x 2))))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 x))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (* x (+ 1 (* -1 (pow x 2))))))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (* x (+ 1 (* (pow x 2) (- (pow x 2) 1))))))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (* x (+ 1 (* (pow x 2) (- (* (pow x 2) (+ 1 (* -1 (pow x 2)))) 1))))))
#s(approx (* x x) #s(hole binary64 (pow x 2)))
#s(approx (+ (* x x) 1) #s(hole binary64 (pow x 2)))
#s(approx (+ (* x x) 1) #s(hole binary64 (* (pow x 2) (+ 1 (/ 1 (pow x 2))))))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (/ 1 x)))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (/ (- 1 (/ 1 (pow x 2))) x)))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (/ (- (+ 1 (/ 1 (pow x 4))) (/ 1 (pow x 2))) x)))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (/ (- (+ 1 (/ 1 (pow x 4))) (+ (/ 1 (pow x 2)) (/ 1 (pow x 6)))) x)))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (* -1 (/ (- (/ 1 (pow x 2)) 1) x))))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (* -1 (/ (- (/ 1 (pow x 2)) (+ 1 (/ 1 (pow x 4)))) x))))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (* -1 (/ (- (+ (/ 1 (pow x 2)) (/ 1 (pow x 6))) (+ 1 (/ 1 (pow x 4)))) x))))
Calls

3 calls:

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

simplify727.0ms (15.4%)

Memory
-3.0MiB live, 224.5MiB allocated; 56ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
064271
1152269
2465261
33183261
08036240
Stop Event
iter limit
node limit
Counts
16 → 16
Calls
Call 1
Inputs
#s(approx (+ (* x x) 1) #s(hole binary64 1))
#s(approx (+ (* x x) 1) #s(hole binary64 (+ 1 (pow x 2))))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 x))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (* x (+ 1 (* -1 (pow x 2))))))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (* x (+ 1 (* (pow x 2) (- (pow x 2) 1))))))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (* x (+ 1 (* (pow x 2) (- (* (pow x 2) (+ 1 (* -1 (pow x 2)))) 1))))))
#s(approx (* x x) #s(hole binary64 (pow x 2)))
#s(approx (+ (* x x) 1) #s(hole binary64 (pow x 2)))
#s(approx (+ (* x x) 1) #s(hole binary64 (* (pow x 2) (+ 1 (/ 1 (pow x 2))))))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (/ 1 x)))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (/ (- 1 (/ 1 (pow x 2))) x)))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (/ (- (+ 1 (/ 1 (pow x 4))) (/ 1 (pow x 2))) x)))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (/ (- (+ 1 (/ 1 (pow x 4))) (+ (/ 1 (pow x 2)) (/ 1 (pow x 6)))) x)))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (* -1 (/ (- (/ 1 (pow x 2)) 1) x))))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (* -1 (/ (- (/ 1 (pow x 2)) (+ 1 (/ 1 (pow x 4)))) x))))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (* -1 (/ (- (+ (/ 1 (pow x 2)) (/ 1 (pow x 6))) (+ 1 (/ 1 (pow x 4)))) x))))
Outputs
#s(approx (+ (* x x) 1) #s(hole binary64 1))
#s(approx (+ (* x x) 1) #s(literal 1 binary64))
#s(approx (+ (* x x) 1) #s(hole binary64 (+ 1 (pow x 2))))
#s(approx (+ (* x x) 1) (fma.f64 x x #s(literal 1 binary64)))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 x))
#s(approx (/ x (+ (* x x) 1)) x)
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (* x (+ 1 (* -1 (pow x 2))))))
#s(approx (/ x (+ (* x x) 1)) (-.f64 x (pow.f64 x #s(literal 3 binary64))))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (* x (+ 1 (* (pow x 2) (- (pow x 2) 1))))))
#s(approx (/ x (+ (* x x) 1)) (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x #s(literal -1 binary64)) x))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (* x (+ 1 (* (pow x 2) (- (* (pow x 2) (+ 1 (* -1 (pow x 2)))) 1))))))
#s(approx (/ x (+ (* x x) 1)) (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 (-.f64 x (pow.f64 x #s(literal 3 binary64))) x #s(literal -1 binary64)) x))
#s(approx (* x x) #s(hole binary64 (pow x 2)))
#s(approx (* x x) (*.f64 x x))
#s(approx (+ (* x x) 1) #s(hole binary64 (pow x 2)))
#s(approx (+ (* x x) 1) (*.f64 x x))
#s(approx (+ (* x x) 1) #s(hole binary64 (* (pow x 2) (+ 1 (/ 1 (pow x 2))))))
#s(approx (+ (* x x) 1) (fma.f64 x x #s(literal 1 binary64)))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (/ 1 x)))
#s(approx (/ x (+ (* x x) 1)) (/.f64 #s(literal 1 binary64) x))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (/ (- 1 (/ 1 (pow x 2))) x)))
#s(approx (/ x (+ (* x x) 1)) (/.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (*.f64 x x))) x))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (/ (- (+ 1 (/ 1 (pow x 4))) (/ 1 (pow x 2))) x)))
#s(approx (/ x (+ (* x x) 1)) (/.f64 (-.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 4 binary64))) (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 x x)) #s(literal 1 binary64))) x))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (/ (- (+ 1 (/ 1 (pow x 4))) (+ (/ 1 (pow x 2)) (/ 1 (pow x 6)))) x)))
#s(approx (/ x (+ (* x x) 1)) (/.f64 (-.f64 (-.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 4 binary64))) (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 x x)) #s(literal 1 binary64))) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 6 binary64)))) x))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (* -1 (/ (- (/ 1 (pow x 2)) 1) x))))
#s(approx (/ x (+ (* x x) 1)) (/.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 x x)) #s(literal 1 binary64)) (neg.f64 x)))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (* -1 (/ (- (/ 1 (pow x 2)) (+ 1 (/ 1 (pow x 4)))) x))))
#s(approx (/ x (+ (* x x) 1)) (/.f64 (-.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 x x)) #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 4 binary64)))) (neg.f64 x)))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (* -1 (/ (- (+ (/ 1 (pow x 2)) (/ 1 (pow x 6))) (+ 1 (/ 1 (pow x 4)))) x))))
#s(approx (/ x (+ (* x x) 1)) (/.f64 (-.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 6 binary64))) (-.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 4 binary64))) (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 x x)) #s(literal 1 binary64)))) (neg.f64 x)))

rewrite47.0ms (1%)

Memory
-8.4MiB live, 38.0MiB allocated; 3ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0515
0815
13315
024913
Stop Event
iter limit
iter limit
iter limit
unsound
iter limit
Counts
3 → 59
Calls
Call 1
Inputs
(+.f64 (*.f64 x x) #s(literal 1 binary64))
(/.f64 x (+.f64 (*.f64 x x) #s(literal 1 binary64)))
(*.f64 x x)
Outputs
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 4 binary64))) (-.f64 #s(literal 1 binary64) (*.f64 x x)))
(/.f64 (neg.f64 (-.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 1 binary64))) (neg.f64 (fma.f64 x x #s(literal -1 binary64))))
(/.f64 (neg.f64 (-.f64 (pow.f64 x #s(literal 6 binary64)) #s(literal -1 binary64))) (neg.f64 (-.f64 (+.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 1 binary64)) (*.f64 x x))))
(/.f64 (-.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 1 binary64)) (fma.f64 x x #s(literal -1 binary64)))
(/.f64 (-.f64 (pow.f64 x #s(literal 6 binary64)) #s(literal -1 binary64)) (+.f64 #s(literal 1 binary64) (-.f64 (pow.f64 x #s(literal 4 binary64)) (*.f64 x x))))
(/.f64 (-.f64 (pow.f64 x #s(literal 6 binary64)) #s(literal -1 binary64)) (-.f64 (+.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 1 binary64)) (*.f64 x x)))
(fma.f64 (*.f64 (neg.f64 x) #s(literal 1 binary64)) (*.f64 (neg.f64 x) #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 (*.f64 (fabs.f64 x) #s(literal 1 binary64)) (*.f64 (fabs.f64 x) #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 (*.f64 x #s(literal 1 binary64)) (*.f64 x #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 (pow.f64 x #s(literal 1 binary64)) (pow.f64 x #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 (neg.f64 (neg.f64 x)) (neg.f64 (neg.f64 x)) #s(literal 1 binary64))
(fma.f64 (neg.f64 (fabs.f64 x)) (neg.f64 (fabs.f64 x)) #s(literal 1 binary64))
(fma.f64 (fabs.f64 (fabs.f64 x)) (fabs.f64 (fabs.f64 x)) #s(literal 1 binary64))
(fma.f64 (neg.f64 x) (*.f64 (neg.f64 x) #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 (neg.f64 x) (neg.f64 x) #s(literal 1 binary64))
(fma.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 (fabs.f64 x) (fabs.f64 x) #s(literal 1 binary64))
(fma.f64 #s(literal 1 binary64) (*.f64 x x) #s(literal 1 binary64))
(fma.f64 (*.f64 x x) #s(literal 1 binary64) #s(literal 1 binary64))
(fma.f64 x (*.f64 x #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 x x #s(literal 1 binary64))
(-.f64 (/.f64 (pow.f64 x #s(literal 4 binary64)) (fma.f64 x x #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 x x #s(literal -1 binary64))))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 (neg.f64 x)) (neg.f64 x)))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 (fabs.f64 x)) (fabs.f64 x)))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 x) x))
(-.f64 #s(literal 1 binary64) (*.f64 x (neg.f64 x)))
(-.f64 (*.f64 x x) #s(literal -1 binary64))
(+.f64 (/.f64 (pow.f64 x #s(literal 6 binary64)) (-.f64 (+.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 1 binary64)) (*.f64 x x))) (/.f64 #s(literal 1 binary64) (-.f64 (+.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 1 binary64)) (*.f64 x x))))
(+.f64 #s(literal 1 binary64) (*.f64 x x))
(+.f64 (*.f64 x x) #s(literal 1 binary64))
(*.f64 (/.f64 x (-.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 1 binary64))) (fma.f64 x x #s(literal -1 binary64)))
(*.f64 (/.f64 x (-.f64 (pow.f64 x #s(literal 6 binary64)) #s(literal -1 binary64))) (-.f64 (+.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 1 binary64)) (*.f64 x x)))
(/.f64 (neg.f64 (neg.f64 x)) (neg.f64 (neg.f64 (fma.f64 x x #s(literal 1 binary64)))))
(/.f64 (neg.f64 x) (neg.f64 (fma.f64 x x #s(literal 1 binary64))))
(/.f64 x (fma.f64 x x #s(literal 1 binary64)))
(neg.f64 (/.f64 (neg.f64 x) (fma.f64 x x #s(literal 1 binary64))))
(neg.f64 (/.f64 x (neg.f64 (fma.f64 x x #s(literal 1 binary64)))))
(*.f64 (*.f64 (neg.f64 x) #s(literal 1 binary64)) (*.f64 (neg.f64 x) #s(literal 1 binary64)))
(*.f64 (*.f64 (fabs.f64 x) #s(literal 1 binary64)) (*.f64 (fabs.f64 x) #s(literal 1 binary64)))
(*.f64 (*.f64 x #s(literal 1 binary64)) (*.f64 x #s(literal 1 binary64)))
(*.f64 (pow.f64 x #s(literal 1 binary64)) (pow.f64 x #s(literal 1 binary64)))
(*.f64 (neg.f64 (neg.f64 x)) (neg.f64 (neg.f64 x)))
(*.f64 (neg.f64 (fabs.f64 x)) (neg.f64 (fabs.f64 x)))
(*.f64 (fabs.f64 (fabs.f64 x)) (fabs.f64 (fabs.f64 x)))
(*.f64 (neg.f64 x) (*.f64 (neg.f64 x) #s(literal 1 binary64)))
(*.f64 (neg.f64 x) (neg.f64 x))
(*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) #s(literal 1 binary64)))
(*.f64 (fabs.f64 x) (fabs.f64 x))
(*.f64 #s(literal 1 binary64) (*.f64 x x))
(*.f64 (*.f64 x x) #s(literal 1 binary64))
(*.f64 x (*.f64 x #s(literal 1 binary64)))
(*.f64 x x)
(pow.f64 (neg.f64 x) #s(literal 2 binary64))
(pow.f64 (fabs.f64 x) #s(literal 2 binary64))
(pow.f64 x #s(literal 2 binary64))
(neg.f64 (*.f64 (neg.f64 x) x))
(neg.f64 (*.f64 x (neg.f64 x)))
(fabs.f64 (*.f64 x x))
(exp.f64 (*.f64 (log.f64 x) #s(literal 2 binary64)))

eval7.0ms (0.2%)

Memory
16.7MiB live, 16.7MiB allocated; 0ms collecting garbage
Compiler

Compiled 870 to 222 computations (74.5% saved)

prune4.0ms (0.1%)

Memory
12.7MiB live, 12.7MiB allocated; 0ms collecting garbage
Pruning

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New68674
Fresh000
Picked101
Done000
Total69675
Accuracy
100.0%
Counts
75 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
74.9%
(/.f64 x (fma.f64 x x #s(literal 1 binary64)))
25.2%
(/.f64 x #s(approx (+ (* x x) 1) (*.f64 x x)))
49.6%
#s(approx (/ x (+ (* x x) 1)) (/.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (*.f64 x x))) x))
50.4%
#s(approx (/ x (+ (* x x) 1)) (/.f64 #s(literal 1 binary64) x))
51.1%
#s(approx (/ x (+ (* x x) 1)) (-.f64 x (pow.f64 x #s(literal 3 binary64))))
51.8%
#s(approx (/ x (+ (* x x) 1)) x)
Compiler

Compiled 134 to 90 computations (32.8% saved)

simplify299.0ms (6.3%)

Memory
-3.6MiB live, 99.9MiB allocated; 14ms collecting garbage
Localize:

Found 12 expressions of interest:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
017100
025100
135100
264100
3143100
4384100
52024100
66080100
08098100
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(/.f64 x (fma.f64 x x #s(literal 1 binary64)))
x
(fma.f64 x x #s(literal 1 binary64))
#s(literal 1 binary64)
#s(approx (/ x (+ (* x x) 1)) x)
x
#s(approx (/ x (+ (* x x) 1)) (/.f64 #s(literal 1 binary64) x))
(/.f64 #s(literal 1 binary64) x)
#s(literal 1 binary64)
x
(/.f64 x #s(approx (+ (* x x) 1) (*.f64 x x)))
x
#s(approx (+ (* x x) 1) (*.f64 x x))
(*.f64 x x)
#s(approx (/ x (+ (* x x) 1)) (/.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (*.f64 x x))) x))
(/.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (*.f64 x x))) x)
(-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (*.f64 x x)))
#s(literal 1 binary64)
(/.f64 #s(literal 1 binary64) (*.f64 x x))
(*.f64 x x)
x
Outputs
(/.f64 x (fma.f64 x x #s(literal 1 binary64)))
x
(fma.f64 x x #s(literal 1 binary64))
#s(literal 1 binary64)
#s(approx (/ x (+ (* x x) 1)) x)
x
#s(approx (/ x (+ (* x x) 1)) (/.f64 #s(literal 1 binary64) x))
(/.f64 #s(literal 1 binary64) x)
#s(literal 1 binary64)
x
(/.f64 x #s(approx (+ (* x x) 1) (*.f64 x x)))
x
#s(approx (+ (* x x) 1) (*.f64 x x))
(*.f64 x x)
#s(approx (/ x (+ (* x x) 1)) (/.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (*.f64 x x))) x))
#s(approx (/ x (+ (* x x) 1)) (/.f64 (-.f64 #s(literal 1 binary64) (/.f64 (/.f64 #s(literal 1 binary64) x) x)) x))
(/.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (*.f64 x x))) x)
(/.f64 (-.f64 #s(literal 1 binary64) (/.f64 (/.f64 #s(literal 1 binary64) x) x)) x)
(-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (*.f64 x x)))
(-.f64 #s(literal 1 binary64) (/.f64 (/.f64 #s(literal 1 binary64) x) x))
#s(literal 1 binary64)
(/.f64 #s(literal 1 binary64) (*.f64 x x))
(/.f64 (/.f64 #s(literal 1 binary64) x) x)
(*.f64 x x)
x

localize126.0ms (2.7%)

Memory
-23.0MiB live, 66.6MiB allocated; 9ms collecting garbage
Localize:

Found 12 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(*.f64 x x)
accuracy0.03125
(/.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (*.f64 x x))) x)
accuracy0.3465047330347441
(/.f64 #s(literal 1 binary64) (*.f64 x x))
accuracy32.23864448849109
#s(approx (/ x (+ (* x x) 1)) (/.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (*.f64 x x))) x))
accuracy0.0
(*.f64 x x)
accuracy16.063434571778895
(/.f64 x #s(approx (+ (* x x) 1) (*.f64 x x)))
accuracy31.593210594553078
#s(approx (+ (* x x) 1) (*.f64 x x))
accuracy0.0
(/.f64 #s(literal 1 binary64) x)
accuracy31.752281917571807
#s(approx (/ x (+ (* x x) 1)) (/.f64 #s(literal 1 binary64) x))
accuracy30.819777904085736
#s(approx (/ x (+ (* x x) 1)) x)
accuracy0.0
(fma.f64 x x #s(literal 1 binary64))
accuracy16.063434571778895
(/.f64 x (fma.f64 x x #s(literal 1 binary64)))
Samples
118.0ms256×0valid
Compiler

Compiled 85 to 11 computations (87.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 60.0ms
ival-mult: 51.0ms (85.5% of total)
ival-div: 6.0ms (10.1% of total)
ival-sub: 1.0ms (1.7% of total)
ival-add: 1.0ms (1.7% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series4.0ms (0.1%)

Memory
7.3MiB live, 7.3MiB allocated; 0ms collecting garbage
Counts
12 → 27
Calls
Call 1
Inputs
(/.f64 x (fma.f64 x x #s(literal 1 binary64)))
(fma.f64 x x #s(literal 1 binary64))
#s(approx (/ x (+ (* x x) 1)) x)
#s(approx (/ x (+ (* x x) 1)) (/.f64 #s(literal 1 binary64) x))
(/.f64 #s(literal 1 binary64) x)
(/.f64 x #s(approx (+ (* x x) 1) (*.f64 x x)))
#s(approx (+ (* x x) 1) (*.f64 x x))
(*.f64 x x)
#s(approx (/ x (+ (* x x) 1)) (/.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (*.f64 x x))) x))
(/.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (*.f64 x x))) x)
(-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (*.f64 x x)))
(/.f64 #s(literal 1 binary64) (*.f64 x x))
Outputs
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 x))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (* x (+ 1 (* -1 (pow x 2))))))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (* x (+ 1 (* (pow x 2) (- (pow x 2) 1))))))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (* x (+ 1 (* (pow x 2) (- (* (pow x 2) (+ 1 (* -1 (pow x 2)))) 1))))))
#s(approx (+ (* x x) 1) #s(hole binary64 1))
#s(approx (+ (* x x) 1) #s(hole binary64 (+ 1 (pow x 2))))
#s(approx (/ 1 x) #s(hole binary64 (/ 1 x)))
#s(approx (* x x) #s(hole binary64 (pow x 2)))
#s(approx (/ (- 1 (/ 1 (* x x))) x) #s(hole binary64 (/ -1 (pow x 3))))
#s(approx (/ (- 1 (/ 1 (* x x))) x) #s(hole binary64 (/ (- (pow x 2) 1) (pow x 3))))
#s(approx (- 1 (/ 1 (* x x))) #s(hole binary64 (/ -1 (pow x 2))))
#s(approx (- 1 (/ 1 (* x x))) #s(hole binary64 (/ (- (pow x 2) 1) (pow x 2))))
#s(approx (/ 1 (* x x)) #s(hole binary64 (/ 1 (pow x 2))))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (/ 1 x)))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (/ (- 1 (/ 1 (pow x 2))) x)))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (/ (- (+ 1 (/ 1 (pow x 4))) (/ 1 (pow x 2))) x)))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (/ (- (+ 1 (/ 1 (pow x 4))) (+ (/ 1 (pow x 2)) (/ 1 (pow x 6)))) x)))
#s(approx (+ (* x x) 1) #s(hole binary64 (pow x 2)))
#s(approx (+ (* x x) 1) #s(hole binary64 (* (pow x 2) (+ 1 (/ 1 (pow x 2))))))
#s(approx (/ (- 1 (/ 1 (* x x))) x) #s(hole binary64 (/ 1 x)))
#s(approx (/ (- 1 (/ 1 (* x x))) x) #s(hole binary64 (/ (- 1 (/ 1 (pow x 2))) x)))
#s(approx (- 1 (/ 1 (* x x))) #s(hole binary64 1))
#s(approx (- 1 (/ 1 (* x x))) #s(hole binary64 (- 1 (/ 1 (pow x 2)))))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (* -1 (/ (- (/ 1 (pow x 2)) 1) x))))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (* -1 (/ (- (/ 1 (pow x 2)) (+ 1 (/ 1 (pow x 4)))) x))))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (* -1 (/ (- (+ (/ 1 (pow x 2)) (/ 1 (pow x 6))) (+ 1 (/ 1 (pow x 4)))) x))))
#s(approx (/ (- 1 (/ 1 (* x x))) x) #s(hole binary64 (* -1 (/ (- (/ 1 (pow x 2)) 1) x))))
Calls

3 calls:

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

simplify471.0ms (10%)

Memory
-18.4MiB live, 229.6MiB allocated; 58ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
084429
1186415
2559415
34803415
08830381
Stop Event
iter limit
node limit
Counts
27 → 27
Calls
Call 1
Inputs
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 x))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (* x (+ 1 (* -1 (pow x 2))))))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (* x (+ 1 (* (pow x 2) (- (pow x 2) 1))))))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (* x (+ 1 (* (pow x 2) (- (* (pow x 2) (+ 1 (* -1 (pow x 2)))) 1))))))
#s(approx (+ (* x x) 1) #s(hole binary64 1))
#s(approx (+ (* x x) 1) #s(hole binary64 (+ 1 (pow x 2))))
#s(approx (/ 1 x) #s(hole binary64 (/ 1 x)))
#s(approx (* x x) #s(hole binary64 (pow x 2)))
#s(approx (/ (- 1 (/ 1 (* x x))) x) #s(hole binary64 (/ -1 (pow x 3))))
#s(approx (/ (- 1 (/ 1 (* x x))) x) #s(hole binary64 (/ (- (pow x 2) 1) (pow x 3))))
#s(approx (- 1 (/ 1 (* x x))) #s(hole binary64 (/ -1 (pow x 2))))
#s(approx (- 1 (/ 1 (* x x))) #s(hole binary64 (/ (- (pow x 2) 1) (pow x 2))))
#s(approx (/ 1 (* x x)) #s(hole binary64 (/ 1 (pow x 2))))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (/ 1 x)))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (/ (- 1 (/ 1 (pow x 2))) x)))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (/ (- (+ 1 (/ 1 (pow x 4))) (/ 1 (pow x 2))) x)))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (/ (- (+ 1 (/ 1 (pow x 4))) (+ (/ 1 (pow x 2)) (/ 1 (pow x 6)))) x)))
#s(approx (+ (* x x) 1) #s(hole binary64 (pow x 2)))
#s(approx (+ (* x x) 1) #s(hole binary64 (* (pow x 2) (+ 1 (/ 1 (pow x 2))))))
#s(approx (/ (- 1 (/ 1 (* x x))) x) #s(hole binary64 (/ 1 x)))
#s(approx (/ (- 1 (/ 1 (* x x))) x) #s(hole binary64 (/ (- 1 (/ 1 (pow x 2))) x)))
#s(approx (- 1 (/ 1 (* x x))) #s(hole binary64 1))
#s(approx (- 1 (/ 1 (* x x))) #s(hole binary64 (- 1 (/ 1 (pow x 2)))))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (* -1 (/ (- (/ 1 (pow x 2)) 1) x))))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (* -1 (/ (- (/ 1 (pow x 2)) (+ 1 (/ 1 (pow x 4)))) x))))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (* -1 (/ (- (+ (/ 1 (pow x 2)) (/ 1 (pow x 6))) (+ 1 (/ 1 (pow x 4)))) x))))
#s(approx (/ (- 1 (/ 1 (* x x))) x) #s(hole binary64 (* -1 (/ (- (/ 1 (pow x 2)) 1) x))))
Outputs
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 x))
#s(approx (/ x (+ (* x x) 1)) x)
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (* x (+ 1 (* -1 (pow x 2))))))
#s(approx (/ x (+ (* x x) 1)) (-.f64 x (pow.f64 x #s(literal 3 binary64))))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (* x (+ 1 (* (pow x 2) (- (pow x 2) 1))))))
#s(approx (/ x (+ (* x x) 1)) (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x #s(literal -1 binary64)) x))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (* x (+ 1 (* (pow x 2) (- (* (pow x 2) (+ 1 (* -1 (pow x 2)))) 1))))))
#s(approx (/ x (+ (* x x) 1)) (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 (-.f64 x (pow.f64 x #s(literal 3 binary64))) x #s(literal -1 binary64)) x))
#s(approx (+ (* x x) 1) #s(hole binary64 1))
#s(approx (+ (* x x) 1) #s(literal 1 binary64))
#s(approx (+ (* x x) 1) #s(hole binary64 (+ 1 (pow x 2))))
#s(approx (+ (* x x) 1) (fma.f64 x x #s(literal 1 binary64)))
#s(approx (/ 1 x) #s(hole binary64 (/ 1 x)))
#s(approx (/ 1 x) (/.f64 #s(literal 1 binary64) x))
#s(approx (* x x) #s(hole binary64 (pow x 2)))
#s(approx (* x x) (*.f64 x x))
#s(approx (/ (- 1 (/ 1 (* x x))) x) #s(hole binary64 (/ -1 (pow x 3))))
#s(approx (/ (- 1 (/ 1 (* x x))) x) (/.f64 #s(literal -1 binary64) (pow.f64 x #s(literal 3 binary64))))
#s(approx (/ (- 1 (/ 1 (* x x))) x) #s(hole binary64 (/ (- (pow x 2) 1) (pow x 3))))
#s(approx (/ (- 1 (/ 1 (* x x))) x) (/.f64 (fma.f64 x x #s(literal -1 binary64)) (pow.f64 x #s(literal 3 binary64))))
#s(approx (- 1 (/ 1 (* x x))) #s(hole binary64 (/ -1 (pow x 2))))
#s(approx (- 1 (/ 1 (* x x))) (/.f64 #s(literal -1 binary64) (*.f64 x x)))
#s(approx (- 1 (/ 1 (* x x))) #s(hole binary64 (/ (- (pow x 2) 1) (pow x 2))))
#s(approx (- 1 (/ 1 (* x x))) (/.f64 (-.f64 x (/.f64 #s(literal 1 binary64) x)) x))
#s(approx (/ 1 (* x x)) #s(hole binary64 (/ 1 (pow x 2))))
#s(approx (/ 1 (* x x)) (/.f64 #s(literal 1 binary64) (*.f64 x x)))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (/ 1 x)))
#s(approx (/ x (+ (* x x) 1)) (/.f64 #s(literal 1 binary64) x))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (/ (- 1 (/ 1 (pow x 2))) x)))
#s(approx (/ x (+ (* x x) 1)) (/.f64 (fma.f64 x x #s(literal -1 binary64)) (pow.f64 x #s(literal 3 binary64))))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (/ (- (+ 1 (/ 1 (pow x 4))) (/ 1 (pow x 2))) x)))
#s(approx (/ x (+ (* x x) 1)) (+.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 5 binary64))) (/.f64 (fma.f64 x x #s(literal -1 binary64)) (pow.f64 x #s(literal 3 binary64)))))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (/ (- (+ 1 (/ 1 (pow x 4))) (+ (/ 1 (pow x 2)) (/ 1 (pow x 6)))) x)))
#s(approx (/ x (+ (* x x) 1)) (-.f64 (+.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 5 binary64))) (/.f64 (fma.f64 x x #s(literal -1 binary64)) (pow.f64 x #s(literal 3 binary64)))) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 7 binary64)))))
#s(approx (+ (* x x) 1) #s(hole binary64 (pow x 2)))
#s(approx (+ (* x x) 1) (*.f64 x x))
#s(approx (+ (* x x) 1) #s(hole binary64 (* (pow x 2) (+ 1 (/ 1 (pow x 2))))))
#s(approx (+ (* x x) 1) (fma.f64 x x #s(literal 1 binary64)))
#s(approx (/ (- 1 (/ 1 (* x x))) x) #s(hole binary64 (/ 1 x)))
#s(approx (/ (- 1 (/ 1 (* x x))) x) (/.f64 #s(literal 1 binary64) x))
#s(approx (/ (- 1 (/ 1 (* x x))) x) #s(hole binary64 (/ (- 1 (/ 1 (pow x 2))) x)))
#s(approx (/ (- 1 (/ 1 (* x x))) x) (/.f64 (fma.f64 x x #s(literal -1 binary64)) (pow.f64 x #s(literal 3 binary64))))
#s(approx (- 1 (/ 1 (* x x))) #s(hole binary64 1))
#s(approx (- 1 (/ 1 (* x x))) #s(literal 1 binary64))
#s(approx (- 1 (/ 1 (* x x))) #s(hole binary64 (- 1 (/ 1 (pow x 2)))))
#s(approx (- 1 (/ 1 (* x x))) (/.f64 (-.f64 x (/.f64 #s(literal 1 binary64) x)) x))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (* -1 (/ (- (/ 1 (pow x 2)) 1) x))))
#s(approx (/ x (+ (* x x) 1)) (/.f64 (fma.f64 x x #s(literal -1 binary64)) (pow.f64 x #s(literal 3 binary64))))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (* -1 (/ (- (/ 1 (pow x 2)) (+ 1 (/ 1 (pow x 4)))) x))))
#s(approx (/ x (+ (* x x) 1)) (/.f64 (-.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 x x)) #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 4 binary64)))) (neg.f64 x)))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (* -1 (/ (- (+ (/ 1 (pow x 2)) (/ 1 (pow x 6))) (+ 1 (/ 1 (pow x 4)))) x))))
#s(approx (/ x (+ (* x x) 1)) (neg.f64 (-.f64 (-.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 7 binary64))) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 5 binary64)))) (/.f64 (fma.f64 x x #s(literal -1 binary64)) (pow.f64 x #s(literal 3 binary64))))))
#s(approx (/ (- 1 (/ 1 (* x x))) x) #s(hole binary64 (* -1 (/ (- (/ 1 (pow x 2)) 1) x))))
#s(approx (/ (- 1 (/ 1 (* x x))) x) (/.f64 (fma.f64 x x #s(literal -1 binary64)) (pow.f64 x #s(literal 3 binary64))))

rewrite76.0ms (1.6%)

Memory
8.7MiB live, 52.4MiB allocated; 4ms collecting garbage
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01789
02589
17481
049881
Stop Event
iter limit
iter limit
iter limit
unsound
iter limit
Counts
12 → 113
Calls
Call 1
Inputs
(/.f64 x (fma.f64 x x #s(literal 1 binary64)))
(fma.f64 x x #s(literal 1 binary64))
#s(approx (/ x (+ (* x x) 1)) x)
#s(approx (/ x (+ (* x x) 1)) (/.f64 #s(literal 1 binary64) x))
(/.f64 #s(literal 1 binary64) x)
(/.f64 x #s(approx (+ (* x x) 1) (*.f64 x x)))
#s(approx (+ (* x x) 1) (*.f64 x x))
(*.f64 x x)
#s(approx (/ x (+ (* x x) 1)) (/.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (*.f64 x x))) x))
(/.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (*.f64 x x))) x)
(-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (*.f64 x x)))
(/.f64 #s(literal 1 binary64) (*.f64 x x))
Outputs
(*.f64 (/.f64 x (-.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 1 binary64))) (fma.f64 x x #s(literal -1 binary64)))
(*.f64 (/.f64 x (-.f64 (pow.f64 x #s(literal 6 binary64)) #s(literal -1 binary64))) (-.f64 (+.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 1 binary64)) (*.f64 x x)))
(/.f64 (neg.f64 (neg.f64 x)) (neg.f64 (fma.f64 (neg.f64 x) x #s(literal -1 binary64))))
(/.f64 (neg.f64 x) (fma.f64 (neg.f64 x) x #s(literal -1 binary64)))
(/.f64 x (fma.f64 x x #s(literal 1 binary64)))
(neg.f64 (/.f64 (neg.f64 x) (fma.f64 x x #s(literal 1 binary64))))
(neg.f64 (/.f64 x (fma.f64 (neg.f64 x) x #s(literal -1 binary64))))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 4 binary64))) (-.f64 #s(literal 1 binary64) (*.f64 x x)))
(/.f64 (neg.f64 (-.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 1 binary64))) (neg.f64 (fma.f64 x x #s(literal -1 binary64))))
(/.f64 (neg.f64 (-.f64 (pow.f64 x #s(literal 6 binary64)) #s(literal -1 binary64))) (neg.f64 (-.f64 (+.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 1 binary64)) (*.f64 x x))))
(/.f64 (-.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 1 binary64)) (fma.f64 x x #s(literal -1 binary64)))
(/.f64 (-.f64 (pow.f64 x #s(literal 6 binary64)) #s(literal -1 binary64)) (+.f64 #s(literal 1 binary64) (-.f64 (pow.f64 x #s(literal 4 binary64)) (*.f64 x x))))
(/.f64 (-.f64 (pow.f64 x #s(literal 6 binary64)) #s(literal -1 binary64)) (-.f64 (+.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 1 binary64)) (*.f64 x x)))
(fma.f64 (*.f64 (neg.f64 x) #s(literal 1 binary64)) (*.f64 (neg.f64 x) #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 (*.f64 (fabs.f64 x) #s(literal 1 binary64)) (*.f64 (fabs.f64 x) #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 (*.f64 x #s(literal 1 binary64)) (*.f64 x #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 (neg.f64 (neg.f64 x)) (neg.f64 (neg.f64 x)) #s(literal 1 binary64))
(fma.f64 (neg.f64 (fabs.f64 x)) (neg.f64 (fabs.f64 x)) #s(literal 1 binary64))
(fma.f64 (fabs.f64 (fabs.f64 x)) (fabs.f64 (fabs.f64 x)) #s(literal 1 binary64))
(fma.f64 (pow.f64 x #s(literal 1 binary64)) (pow.f64 x #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 (neg.f64 x) (*.f64 (neg.f64 x) #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 (neg.f64 x) (neg.f64 x) #s(literal 1 binary64))
(fma.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 (fabs.f64 x) (fabs.f64 x) #s(literal 1 binary64))
(fma.f64 (*.f64 x x) #s(literal 1 binary64) #s(literal 1 binary64))
(fma.f64 #s(literal 1 binary64) (*.f64 x x) #s(literal 1 binary64))
(fma.f64 x (*.f64 x #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 x x #s(literal 1 binary64))
(-.f64 (/.f64 (pow.f64 x #s(literal 4 binary64)) (fma.f64 x x #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 x x #s(literal -1 binary64))))
(-.f64 (*.f64 x x) #s(literal -1 binary64))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 x) x))
(+.f64 (/.f64 (pow.f64 x #s(literal 6 binary64)) (-.f64 (+.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 1 binary64)) (*.f64 x x))) (/.f64 #s(literal 1 binary64) (-.f64 (+.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 1 binary64)) (*.f64 x x))))
(+.f64 (*.f64 x x) #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) (*.f64 x x))
#s(approx (/ x (+ (* x x) 1)) x)
#s(approx (/ x (+ (* x x) 1)) (pow.f64 x #s(literal -1 binary64)))
(*.f64 (pow.f64 x #s(literal -1/2 binary64)) (pow.f64 x #s(literal -1/2 binary64)))
(*.f64 #s(literal 1 binary64) (pow.f64 x #s(literal -1 binary64)))
(pow.f64 x #s(literal -1 binary64))
(/.f64 #s(literal -1 binary64) (neg.f64 x))
(/.f64 #s(literal 1 binary64) (neg.f64 (neg.f64 x)))
(/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 1 binary64)))
(/.f64 #s(literal 1 binary64) x)
(neg.f64 (/.f64 #s(literal -1 binary64) x))
(neg.f64 (/.f64 #s(literal 1 binary64) (neg.f64 x)))
(exp.f64 (*.f64 (log.f64 x) #s(literal -1 binary64)))
(/.f64 (neg.f64 (neg.f64 x)) (neg.f64 (neg.f64 #s(approx (+ (* x x) 1) (*.f64 x x)))))
(/.f64 (neg.f64 x) (neg.f64 #s(approx (+ (* x x) 1) (*.f64 x x))))
(/.f64 x #s(approx (+ (* x x) 1) (*.f64 x x)))
(neg.f64 (/.f64 (neg.f64 x) #s(approx (+ (* x x) 1) (*.f64 x x))))
(neg.f64 (/.f64 x (neg.f64 #s(approx (+ (* x x) 1) (*.f64 x x)))))
#s(approx (+ (* x x) 1) (*.f64 x x))
(*.f64 (*.f64 (neg.f64 x) #s(literal 1 binary64)) (*.f64 (neg.f64 x) #s(literal 1 binary64)))
(*.f64 (*.f64 (fabs.f64 x) #s(literal 1 binary64)) (*.f64 (fabs.f64 x) #s(literal 1 binary64)))
(*.f64 (*.f64 x #s(literal 1 binary64)) (*.f64 x #s(literal 1 binary64)))
(*.f64 (neg.f64 (neg.f64 x)) (neg.f64 (neg.f64 x)))
(*.f64 (neg.f64 (fabs.f64 x)) (neg.f64 (fabs.f64 x)))
(*.f64 (fabs.f64 (fabs.f64 x)) (fabs.f64 (fabs.f64 x)))
(*.f64 (pow.f64 x #s(literal 1 binary64)) (pow.f64 x #s(literal 1 binary64)))
(*.f64 (neg.f64 x) (*.f64 (neg.f64 x) #s(literal 1 binary64)))
(*.f64 (neg.f64 x) (neg.f64 x))
(*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) #s(literal 1 binary64)))
(*.f64 (fabs.f64 x) (fabs.f64 x))
(*.f64 (*.f64 x x) #s(literal 1 binary64))
(*.f64 #s(literal 1 binary64) (*.f64 x x))
(*.f64 x (*.f64 x #s(literal 1 binary64)))
(*.f64 x x)
(pow.f64 (neg.f64 x) #s(literal 2 binary64))
(pow.f64 (fabs.f64 x) #s(literal 2 binary64))
(pow.f64 x #s(literal 2 binary64))
(neg.f64 (*.f64 (neg.f64 x) x))
(fabs.f64 (*.f64 x x))
(exp.f64 (*.f64 (log.f64 x) #s(literal 2 binary64)))
#s(approx (/ x (+ (* x x) 1)) (/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 x #s(literal -2 binary64))) x))
(/.f64 (-.f64 (pow.f64 x #s(literal -2 binary64)) (*.f64 (/.f64 (pow.f64 x #s(literal -2 binary64)) x) (/.f64 (pow.f64 x #s(literal -2 binary64)) x))) (+.f64 (pow.f64 x #s(literal -1 binary64)) (/.f64 (pow.f64 x #s(literal -2 binary64)) x)))
(/.f64 (-.f64 (pow.f64 (pow.f64 x #s(literal -1 binary64)) #s(literal 3 binary64)) (pow.f64 (/.f64 (pow.f64 x #s(literal -2 binary64)) x) #s(literal 3 binary64))) (+.f64 (pow.f64 x #s(literal -2 binary64)) (fma.f64 (/.f64 (pow.f64 x #s(literal -2 binary64)) x) (/.f64 (pow.f64 x #s(literal -2 binary64)) x) (*.f64 (pow.f64 x #s(literal -1 binary64)) (/.f64 (pow.f64 x #s(literal -2 binary64)) x)))))
(/.f64 (neg.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (pow.f64 x #s(literal -2 binary64))))) (neg.f64 (neg.f64 x)))
(/.f64 (-.f64 (*.f64 #s(literal -1 binary64) x) (*.f64 (neg.f64 x) (pow.f64 x #s(literal -2 binary64)))) (*.f64 (neg.f64 x) x))
(/.f64 (-.f64 (*.f64 #s(literal 1 binary64) x) (*.f64 x (pow.f64 x #s(literal -2 binary64)))) (*.f64 x x))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal -1 binary64))) (*.f64 (+.f64 (pow.f64 x #s(literal -2 binary64)) #s(literal 1 binary64)) x))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (pow.f64 x #s(literal -2 binary64)) #s(literal 3 binary64))) (*.f64 (fma.f64 (pow.f64 x #s(literal -2 binary64)) (+.f64 (pow.f64 x #s(literal -2 binary64)) #s(literal 1 binary64)) #s(literal 1 binary64)) x))
(/.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (pow.f64 x #s(literal -2 binary64)))) (neg.f64 x))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 x #s(literal -2 binary64))) x)
(neg.f64 (/.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (pow.f64 x #s(literal -2 binary64)))) x))
(neg.f64 (/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 x #s(literal -2 binary64))) (neg.f64 x)))
(-.f64 (pow.f64 x #s(literal -1 binary64)) (/.f64 (pow.f64 x #s(literal -2 binary64)) x))
(/.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal -1 binary64)))) (neg.f64 (+.f64 (pow.f64 x #s(literal -2 binary64)) #s(literal 1 binary64))))
(/.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (pow.f64 x #s(literal -2 binary64)) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (pow.f64 x #s(literal -2 binary64)) (+.f64 (pow.f64 x #s(literal -2 binary64)) #s(literal 1 binary64)) #s(literal 1 binary64))))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal -1 binary64))) (+.f64 (pow.f64 x #s(literal -2 binary64)) #s(literal 1 binary64)))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (pow.f64 x #s(literal -2 binary64)) #s(literal 3 binary64))) (fma.f64 (pow.f64 x #s(literal -2 binary64)) (+.f64 (pow.f64 x #s(literal -2 binary64)) #s(literal 1 binary64)) #s(literal 1 binary64)))
(-.f64 (/.f64 #s(literal 1 binary64) (+.f64 (pow.f64 x #s(literal -2 binary64)) #s(literal 1 binary64))) (/.f64 (pow.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal -1 binary64)) (+.f64 (pow.f64 x #s(literal -2 binary64)) #s(literal 1 binary64))))
(-.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (pow.f64 x #s(literal -2 binary64)) (+.f64 (pow.f64 x #s(literal -2 binary64)) #s(literal 1 binary64)) #s(literal 1 binary64))) (/.f64 (pow.f64 (pow.f64 x #s(literal -2 binary64)) #s(literal 3 binary64)) (fma.f64 (pow.f64 x #s(literal -2 binary64)) (+.f64 (pow.f64 x #s(literal -2 binary64)) #s(literal 1 binary64)) #s(literal 1 binary64))))
(-.f64 #s(literal 1 binary64) (pow.f64 x #s(literal -2 binary64)))
(*.f64 (pow.f64 (*.f64 x x) #s(literal -1/2 binary64)) (pow.f64 (*.f64 x x) #s(literal -1/2 binary64)))
(*.f64 (/.f64 #s(literal 1 binary64) (neg.f64 x)) (/.f64 #s(literal 1 binary64) (neg.f64 x)))
(*.f64 (/.f64 #s(literal 1 binary64) (fabs.f64 x)) (/.f64 #s(literal 1 binary64) (fabs.f64 x)))
(*.f64 (pow.f64 (neg.f64 x) #s(literal -1 binary64)) (pow.f64 (neg.f64 x) #s(literal -1 binary64)))
(*.f64 (pow.f64 (fabs.f64 x) #s(literal -1 binary64)) (pow.f64 (fabs.f64 x) #s(literal -1 binary64)))
(*.f64 (pow.f64 x #s(literal -2 binary64)) #s(literal 1 binary64))
(*.f64 (pow.f64 x #s(literal -1 binary64)) (pow.f64 x #s(literal -1 binary64)))
(*.f64 #s(literal 1 binary64) (pow.f64 x #s(literal -2 binary64)))
(pow.f64 (*.f64 x x) #s(literal -1 binary64))
(pow.f64 x #s(literal -2 binary64))
(/.f64 (/.f64 #s(literal 1 binary64) (neg.f64 x)) (neg.f64 x))
(/.f64 (/.f64 #s(literal 1 binary64) (fabs.f64 x)) (fabs.f64 x))
(/.f64 (neg.f64 (pow.f64 x #s(literal -1 binary64))) (neg.f64 x))
(/.f64 #s(literal -1 binary64) (*.f64 (neg.f64 x) x))
(/.f64 (pow.f64 x #s(literal -1 binary64)) x)
(/.f64 #s(literal 1 binary64) (pow.f64 (*.f64 x x) #s(literal 1 binary64)))
(/.f64 #s(literal 1 binary64) (*.f64 x x))
(neg.f64 (/.f64 #s(literal -1 binary64) (*.f64 x x)))
(neg.f64 (/.f64 #s(literal 1 binary64) (*.f64 (neg.f64 x) x)))
(exp.f64 (*.f64 (log.f64 (*.f64 x x)) #s(literal -1 binary64)))

eval18.0ms (0.4%)

Memory
-5.1MiB live, 40.8MiB allocated; 4ms collecting garbage
Compiler

Compiled 2 567 to 520 computations (79.7% saved)

prune4.0ms (0.1%)

Memory
14.9MiB live, 14.9MiB allocated; 0ms collecting garbage
Pruning

6 alts after pruning (1 fresh and 5 done)

PrunedKeptTotal
New1550155
Fresh011
Picked055
Done000
Total1556161
Accuracy
100.0%
Counts
161 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
74.9%
(/.f64 x (fma.f64 x x #s(literal 1 binary64)))
25.2%
(/.f64 x #s(approx (+ (* x x) 1) (*.f64 x x)))
49.6%
#s(approx (/ x (+ (* x x) 1)) (/.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (*.f64 x x))) x))
50.4%
#s(approx (/ x (+ (* x x) 1)) (/.f64 #s(literal 1 binary64) x))
51.1%
#s(approx (/ x (+ (* x x) 1)) (-.f64 x (pow.f64 x #s(literal 3 binary64))))
51.8%
#s(approx (/ x (+ (* x x) 1)) x)
Compiler

Compiled 67 to 45 computations (32.8% saved)

simplify183.0ms (3.9%)

Memory
-6.4MiB live, 96.2MiB allocated; 12ms collecting garbage
Localize:

Found 3 expressions of interest:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0923
01123
12023
25323
313223
423823
549023
6294523
7695123
0883822
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
#s(approx (/ x (+ (* x x) 1)) (-.f64 x (pow.f64 x #s(literal 3 binary64))))
(-.f64 x (pow.f64 x #s(literal 3 binary64)))
x
(pow.f64 x #s(literal 3 binary64))
#s(literal 3 binary64)
Outputs
#s(approx (/ x (+ (* x x) 1)) (-.f64 x (pow.f64 x #s(literal 3 binary64))))
(-.f64 x (pow.f64 x #s(literal 3 binary64)))
x
(pow.f64 x #s(literal 3 binary64))
#s(literal 3 binary64)

localize35.0ms (0.7%)

Memory
-10.1MiB live, 34.1MiB allocated; 6ms collecting garbage
Localize:

Found 3 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(pow.f64 x #s(literal 3 binary64))
accuracy0.0078125
(-.f64 x (pow.f64 x #s(literal 3 binary64)))
accuracy31.274179523830327
#s(approx (/ x (+ (* x x) 1)) (-.f64 x (pow.f64 x #s(literal 3 binary64))))
Samples
30.0ms256×0valid
Compiler

Compiled 19 to 10 computations (47.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 24.0ms
ival-add: 16.0ms (66.6% of total)
ival-pow: 3.0ms (12.5% of total)
ival-div: 2.0ms (8.3% of total)
ival-mult: 2.0ms (8.3% of total)
ival-sub: 1.0ms (4.2% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series2.0ms (0.1%)

Memory
7.2MiB live, 7.2MiB allocated; 0ms collecting garbage
Counts
3 → 17
Calls
Call 1
Inputs
#s(approx (/ x (+ (* x x) 1)) (-.f64 x (pow.f64 x #s(literal 3 binary64))))
(-.f64 x (pow.f64 x #s(literal 3 binary64)))
(pow.f64 x #s(literal 3 binary64))
Outputs
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 x))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (* x (+ 1 (* -1 (pow x 2))))))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (* x (+ 1 (* (pow x 2) (- (pow x 2) 1))))))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (* x (+ 1 (* (pow x 2) (- (* (pow x 2) (+ 1 (* -1 (pow x 2)))) 1))))))
#s(approx (- x (pow x 3)) #s(hole binary64 x))
#s(approx (- x (pow x 3)) #s(hole binary64 (* x (+ 1 (* -1 (pow x 2))))))
#s(approx (pow x 3) #s(hole binary64 (pow x 3)))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (/ 1 x)))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (/ (- 1 (/ 1 (pow x 2))) x)))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (/ (- (+ 1 (/ 1 (pow x 4))) (/ 1 (pow x 2))) x)))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (/ (- (+ 1 (/ 1 (pow x 4))) (+ (/ 1 (pow x 2)) (/ 1 (pow x 6)))) x)))
#s(approx (- x (pow x 3)) #s(hole binary64 (* -1 (pow x 3))))
#s(approx (- x (pow x 3)) #s(hole binary64 (* (pow x 3) (- (/ 1 (pow x 2)) 1))))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (* -1 (/ (- (/ 1 (pow x 2)) 1) x))))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (* -1 (/ (- (/ 1 (pow x 2)) (+ 1 (/ 1 (pow x 4)))) x))))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (* -1 (/ (- (+ (/ 1 (pow x 2)) (/ 1 (pow x 6))) (+ 1 (/ 1 (pow x 4)))) x))))
#s(approx (- x (pow x 3)) #s(hole binary64 (* -1 (* (pow x 3) (- 1 (/ 1 (pow x 2)))))))
Calls

3 calls:

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

simplify254.0ms (5.4%)

Memory
19.7MiB live, 245.2MiB allocated; 51ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
069299
1159286
2468286
32091283
08632268
Stop Event
iter limit
node limit
Counts
17 → 17
Calls
Call 1
Inputs
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 x))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (* x (+ 1 (* -1 (pow x 2))))))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (* x (+ 1 (* (pow x 2) (- (pow x 2) 1))))))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (* x (+ 1 (* (pow x 2) (- (* (pow x 2) (+ 1 (* -1 (pow x 2)))) 1))))))
#s(approx (- x (pow x 3)) #s(hole binary64 x))
#s(approx (- x (pow x 3)) #s(hole binary64 (* x (+ 1 (* -1 (pow x 2))))))
#s(approx (pow x 3) #s(hole binary64 (pow x 3)))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (/ 1 x)))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (/ (- 1 (/ 1 (pow x 2))) x)))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (/ (- (+ 1 (/ 1 (pow x 4))) (/ 1 (pow x 2))) x)))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (/ (- (+ 1 (/ 1 (pow x 4))) (+ (/ 1 (pow x 2)) (/ 1 (pow x 6)))) x)))
#s(approx (- x (pow x 3)) #s(hole binary64 (* -1 (pow x 3))))
#s(approx (- x (pow x 3)) #s(hole binary64 (* (pow x 3) (- (/ 1 (pow x 2)) 1))))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (* -1 (/ (- (/ 1 (pow x 2)) 1) x))))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (* -1 (/ (- (/ 1 (pow x 2)) (+ 1 (/ 1 (pow x 4)))) x))))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (* -1 (/ (- (+ (/ 1 (pow x 2)) (/ 1 (pow x 6))) (+ 1 (/ 1 (pow x 4)))) x))))
#s(approx (- x (pow x 3)) #s(hole binary64 (* -1 (* (pow x 3) (- 1 (/ 1 (pow x 2)))))))
Outputs
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 x))
#s(approx (/ x (+ (* x x) 1)) x)
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (* x (+ 1 (* -1 (pow x 2))))))
#s(approx (/ x (+ (* x x) 1)) (-.f64 x (pow.f64 x #s(literal 3 binary64))))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (* x (+ 1 (* (pow x 2) (- (pow x 2) 1))))))
#s(approx (/ x (+ (* x x) 1)) (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x #s(literal -1 binary64)) x))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (* x (+ 1 (* (pow x 2) (- (* (pow x 2) (+ 1 (* -1 (pow x 2)))) 1))))))
#s(approx (/ x (+ (* x x) 1)) (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 (-.f64 x (pow.f64 x #s(literal 3 binary64))) x #s(literal -1 binary64)) x))
#s(approx (- x (pow x 3)) #s(hole binary64 x))
#s(approx (- x (pow x 3)) x)
#s(approx (- x (pow x 3)) #s(hole binary64 (* x (+ 1 (* -1 (pow x 2))))))
#s(approx (- x (pow x 3)) (-.f64 x (pow.f64 x #s(literal 3 binary64))))
#s(approx (pow x 3) #s(hole binary64 (pow x 3)))
#s(approx (pow x 3) (pow.f64 x #s(literal 3 binary64)))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (/ 1 x)))
#s(approx (/ x (+ (* x x) 1)) (/.f64 #s(literal 1 binary64) x))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (/ (- 1 (/ 1 (pow x 2))) x)))
#s(approx (/ x (+ (* x x) 1)) (/.f64 (-.f64 #s(literal 1 binary64) (/.f64 (/.f64 #s(literal 1 binary64) x) x)) x))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (/ (- (+ 1 (/ 1 (pow x 4))) (/ 1 (pow x 2))) x)))
#s(approx (/ x (+ (* x x) 1)) (/.f64 (-.f64 (-.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 4 binary64))) #s(literal -1 binary64)) (/.f64 (/.f64 #s(literal 1 binary64) x) x)) x))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (/ (- (+ 1 (/ 1 (pow x 4))) (+ (/ 1 (pow x 2)) (/ 1 (pow x 6)))) x)))
#s(approx (/ x (+ (* x x) 1)) (/.f64 (-.f64 (-.f64 (-.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 4 binary64))) #s(literal -1 binary64)) (/.f64 (/.f64 #s(literal 1 binary64) x) x)) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 6 binary64)))) x))
#s(approx (- x (pow x 3)) #s(hole binary64 (* -1 (pow x 3))))
#s(approx (- x (pow x 3)) (pow.f64 (neg.f64 x) #s(literal 3 binary64)))
#s(approx (- x (pow x 3)) #s(hole binary64 (* (pow x 3) (- (/ 1 (pow x 2)) 1))))
#s(approx (- x (pow x 3)) (*.f64 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) x) x) #s(literal 1 binary64)) (pow.f64 x #s(literal 3 binary64))))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (* -1 (/ (- (/ 1 (pow x 2)) 1) x))))
#s(approx (/ x (+ (* x x) 1)) (-.f64 (/.f64 #s(literal -1 binary64) (pow.f64 x #s(literal 3 binary64))) (/.f64 #s(literal -1 binary64) x)))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (* -1 (/ (- (/ 1 (pow x 2)) (+ 1 (/ 1 (pow x 4)))) x))))
#s(approx (/ x (+ (* x x) 1)) (/.f64 (-.f64 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) x) x) #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 4 binary64)))) (neg.f64 x)))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (* -1 (/ (- (+ (/ 1 (pow x 2)) (/ 1 (pow x 6))) (+ 1 (/ 1 (pow x 4)))) x))))
#s(approx (/ x (+ (* x x) 1)) (/.f64 (-.f64 (/.f64 #s(literal -1 binary64) (pow.f64 x #s(literal 6 binary64))) (-.f64 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) x) x) #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 4 binary64))))) x))
#s(approx (- x (pow x 3)) #s(hole binary64 (* -1 (* (pow x 3) (- 1 (/ 1 (pow x 2)))))))
#s(approx (- x (pow x 3)) (*.f64 (+.f64 #s(literal -1 binary64) (/.f64 (/.f64 #s(literal 1 binary64) x) x)) (pow.f64 x #s(literal 3 binary64))))

rewrite57.0ms (1.2%)

Memory
1.2MiB live, 42.6MiB allocated; 11ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0921
01121
15421
041120
Stop Event
iter limit
iter limit
iter limit
unsound
iter limit
Counts
3 → 26
Calls
Call 1
Inputs
#s(approx (/ x (+ (* x x) 1)) (-.f64 x (pow.f64 x #s(literal 3 binary64))))
(-.f64 x (pow.f64 x #s(literal 3 binary64)))
(pow.f64 x #s(literal 3 binary64))
Outputs
#s(approx (/ x (+ (* x x) 1)) (-.f64 x (pow.f64 x #s(literal 3 binary64))))
(/.f64 (neg.f64 (-.f64 (*.f64 x x) (pow.f64 x #s(literal 6 binary64)))) (neg.f64 (+.f64 (pow.f64 x #s(literal 3 binary64)) x)))
(/.f64 (neg.f64 (-.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 x #s(literal 9 binary64)))) (neg.f64 (fma.f64 x x (+.f64 (pow.f64 x #s(literal 6 binary64)) (pow.f64 x #s(literal 4 binary64))))))
(/.f64 (-.f64 (*.f64 x x) (pow.f64 x #s(literal 6 binary64))) (+.f64 (pow.f64 x #s(literal 3 binary64)) x))
(/.f64 (-.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 x #s(literal 9 binary64))) (fma.f64 x x (+.f64 (pow.f64 x #s(literal 6 binary64)) (pow.f64 x #s(literal 4 binary64)))))
(-.f64 (/.f64 (*.f64 x x) (+.f64 (pow.f64 x #s(literal 3 binary64)) x)) (/.f64 (pow.f64 x #s(literal 6 binary64)) (+.f64 (pow.f64 x #s(literal 3 binary64)) x)))
(-.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x (+.f64 (pow.f64 x #s(literal 6 binary64)) (pow.f64 x #s(literal 4 binary64))))) (/.f64 (pow.f64 x #s(literal 9 binary64)) (fma.f64 x x (+.f64 (pow.f64 x #s(literal 6 binary64)) (pow.f64 x #s(literal 4 binary64))))))
(-.f64 x (pow.f64 x #s(literal 3 binary64)))
(+.f64 x (*.f64 (neg.f64 (pow.f64 x #s(literal 3/2 binary64))) (pow.f64 x #s(literal 3/2 binary64))))
(+.f64 x (*.f64 (neg.f64 (*.f64 x x)) x))
(+.f64 x (*.f64 (neg.f64 x) (*.f64 x x)))
(*.f64 (*.f64 x (neg.f64 x)) (neg.f64 x))
(*.f64 (*.f64 x (fabs.f64 x)) (fabs.f64 x))
(*.f64 (neg.f64 (pow.f64 x #s(literal 3/2 binary64))) (neg.f64 (pow.f64 x #s(literal 3/2 binary64))))
(*.f64 (fabs.f64 (pow.f64 x #s(literal 3/2 binary64))) (fabs.f64 (pow.f64 x #s(literal 3/2 binary64))))
(*.f64 (pow.f64 x #s(literal 3/2 binary64)) (pow.f64 x #s(literal 3/2 binary64)))
(*.f64 (neg.f64 x) (*.f64 (neg.f64 x) x))
(*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) x))
(*.f64 (*.f64 x x) x)
(*.f64 x (*.f64 x x))
(pow.f64 (exp.f64 (log.f64 x)) #s(literal 3 binary64))
(pow.f64 (pow.f64 x #s(literal 3/2 binary64)) #s(literal 2 binary64))
(pow.f64 (*.f64 x x) #s(literal 3/2 binary64))
(pow.f64 x #s(literal 3 binary64))
(exp.f64 (*.f64 (log.f64 x) #s(literal 3 binary64)))
(+.f64 (cosh.f64 (*.f64 (log.f64 x) #s(literal 3 binary64))) (sinh.f64 (*.f64 (log.f64 x) #s(literal 3 binary64))))

eval4.0ms (0.1%)

Memory
8.1MiB live, 8.1MiB allocated; 0ms collecting garbage
Compiler

Compiled 801 to 165 computations (79.4% saved)

prune3.0ms (0.1%)

Memory
5.5MiB live, 5.5MiB allocated; 0ms collecting garbage
Pruning

6 alts after pruning (1 fresh and 5 done)

PrunedKeptTotal
New41142
Fresh000
Picked101
Done055
Total42648
Accuracy
100.0%
Counts
48 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
74.9%
(/.f64 x (fma.f64 x x #s(literal 1 binary64)))
25.2%
(/.f64 x #s(approx (+ (* x x) 1) (*.f64 x x)))
49.6%
#s(approx (/ x (+ (* x x) 1)) (/.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (*.f64 x x))) x))
50.4%
#s(approx (/ x (+ (* x x) 1)) (/.f64 #s(literal 1 binary64) x))
51.1%
#s(approx (/ x (+ (* x x) 1)) (-.f64 x (*.f64 (*.f64 x x) x)))
51.8%
#s(approx (/ x (+ (* x x) 1)) x)
Compiler

Compiled 69 to 45 computations (34.8% saved)

simplify169.0ms (3.6%)

Memory
-26.4MiB live, 121.9MiB allocated; 58ms collecting garbage
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 x x)
cost-diff0
(-.f64 x (*.f64 (*.f64 x x) x))
cost-diff0
#s(approx (/ x (+ (* x x) 1)) (-.f64 x (*.f64 (*.f64 x x) x)))
cost-diff2
(*.f64 (*.f64 x x) x)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0931
01231
12325
26425
314225
426925
558825
6432125
0850624
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
#s(approx (/ x (+ (* x x) 1)) (-.f64 x (*.f64 (*.f64 x x) x)))
(-.f64 x (*.f64 (*.f64 x x) x))
x
(*.f64 (*.f64 x x) x)
(*.f64 x x)
Outputs
#s(approx (/ x (+ (* x x) 1)) (-.f64 x (*.f64 (*.f64 x x) x)))
#s(approx (/ x (+ (* x x) 1)) (-.f64 x (pow.f64 x #s(literal 3 binary64))))
(-.f64 x (*.f64 (*.f64 x x) x))
(-.f64 x (pow.f64 x #s(literal 3 binary64)))
x
(*.f64 (*.f64 x x) x)
(pow.f64 x #s(literal 3 binary64))
(*.f64 x x)

localize18.0ms (0.4%)

Memory
26.3MiB live, 26.3MiB allocated; 0ms collecting garbage
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(*.f64 x x)
accuracy0.0078125
(-.f64 x (*.f64 (*.f64 x x) x))
accuracy0.08203125
(*.f64 (*.f64 x x) x)
accuracy31.274179523830327
#s(approx (/ x (+ (* x x) 1)) (-.f64 x (*.f64 (*.f64 x x) x)))
Samples
13.0ms256×0valid
Compiler

Compiled 25 to 9 computations (64% saved)

Precisions
Click to see histograms. Total time spent on operations: 8.0ms
ival-mult: 3.0ms (39.9% of total)
ival-div: 2.0ms (26.6% of total)
ival-sub: 1.0ms (13.3% of total)
ival-add: 1.0ms (13.3% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series3.0ms (0.1%)

Memory
4.4MiB live, 4.4MiB allocated; 0ms collecting garbage
Counts
4 → 18
Calls
Call 1
Inputs
(*.f64 (*.f64 x x) x)
#s(approx (/ x (+ (* x x) 1)) (-.f64 x (*.f64 (*.f64 x x) x)))
(-.f64 x (*.f64 (*.f64 x x) x))
(*.f64 x x)
Outputs
#s(approx (* (* x x) x) #s(hole binary64 (pow x 3)))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 x))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (* x (+ 1 (* -1 (pow x 2))))))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (* x (+ 1 (* (pow x 2) (- (pow x 2) 1))))))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (* x (+ 1 (* (pow x 2) (- (* (pow x 2) (+ 1 (* -1 (pow x 2)))) 1))))))
#s(approx (- x (* (* x x) x)) #s(hole binary64 x))
#s(approx (- x (* (* x x) x)) #s(hole binary64 (* x (+ 1 (* -1 (pow x 2))))))
#s(approx (* x x) #s(hole binary64 (pow x 2)))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (/ 1 x)))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (/ (- 1 (/ 1 (pow x 2))) x)))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (/ (- (+ 1 (/ 1 (pow x 4))) (/ 1 (pow x 2))) x)))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (/ (- (+ 1 (/ 1 (pow x 4))) (+ (/ 1 (pow x 2)) (/ 1 (pow x 6)))) x)))
#s(approx (- x (* (* x x) x)) #s(hole binary64 (* -1 (pow x 3))))
#s(approx (- x (* (* x x) x)) #s(hole binary64 (* (pow x 3) (- (/ 1 (pow x 2)) 1))))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (* -1 (/ (- (/ 1 (pow x 2)) 1) x))))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (* -1 (/ (- (/ 1 (pow x 2)) (+ 1 (/ 1 (pow x 4)))) x))))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (* -1 (/ (- (+ (/ 1 (pow x 2)) (/ 1 (pow x 6))) (+ 1 (/ 1 (pow x 4)))) x))))
#s(approx (- x (* (* x x) x)) #s(hole binary64 (* -1 (* (pow x 3) (- 1 (/ 1 (pow x 2)))))))
Calls

3 calls:

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

simplify204.0ms (4.3%)

Memory
-18.0MiB live, 165.8MiB allocated; 35ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
071306
1167293
2474293
32099290
08609275
Stop Event
iter limit
node limit
Counts
18 → 18
Calls
Call 1
Inputs
#s(approx (* (* x x) x) #s(hole binary64 (pow x 3)))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 x))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (* x (+ 1 (* -1 (pow x 2))))))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (* x (+ 1 (* (pow x 2) (- (pow x 2) 1))))))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (* x (+ 1 (* (pow x 2) (- (* (pow x 2) (+ 1 (* -1 (pow x 2)))) 1))))))
#s(approx (- x (* (* x x) x)) #s(hole binary64 x))
#s(approx (- x (* (* x x) x)) #s(hole binary64 (* x (+ 1 (* -1 (pow x 2))))))
#s(approx (* x x) #s(hole binary64 (pow x 2)))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (/ 1 x)))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (/ (- 1 (/ 1 (pow x 2))) x)))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (/ (- (+ 1 (/ 1 (pow x 4))) (/ 1 (pow x 2))) x)))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (/ (- (+ 1 (/ 1 (pow x 4))) (+ (/ 1 (pow x 2)) (/ 1 (pow x 6)))) x)))
#s(approx (- x (* (* x x) x)) #s(hole binary64 (* -1 (pow x 3))))
#s(approx (- x (* (* x x) x)) #s(hole binary64 (* (pow x 3) (- (/ 1 (pow x 2)) 1))))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (* -1 (/ (- (/ 1 (pow x 2)) 1) x))))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (* -1 (/ (- (/ 1 (pow x 2)) (+ 1 (/ 1 (pow x 4)))) x))))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (* -1 (/ (- (+ (/ 1 (pow x 2)) (/ 1 (pow x 6))) (+ 1 (/ 1 (pow x 4)))) x))))
#s(approx (- x (* (* x x) x)) #s(hole binary64 (* -1 (* (pow x 3) (- 1 (/ 1 (pow x 2)))))))
Outputs
#s(approx (* (* x x) x) #s(hole binary64 (pow x 3)))
#s(approx (* (* x x) x) (pow.f64 x #s(literal 3 binary64)))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 x))
#s(approx (/ x (+ (* x x) 1)) x)
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (* x (+ 1 (* -1 (pow x 2))))))
#s(approx (/ x (+ (* x x) 1)) (-.f64 x (pow.f64 x #s(literal 3 binary64))))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (* x (+ 1 (* (pow x 2) (- (pow x 2) 1))))))
#s(approx (/ x (+ (* x x) 1)) (fma.f64 (fma.f64 x x #s(literal -1 binary64)) (pow.f64 x #s(literal 3 binary64)) x))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (* x (+ 1 (* (pow x 2) (- (* (pow x 2) (+ 1 (* -1 (pow x 2)))) 1))))))
#s(approx (/ x (+ (* x x) 1)) (fma.f64 (fma.f64 (-.f64 x (pow.f64 x #s(literal 3 binary64))) x #s(literal -1 binary64)) (pow.f64 x #s(literal 3 binary64)) x))
#s(approx (- x (* (* x x) x)) #s(hole binary64 x))
#s(approx (- x (* (* x x) x)) x)
#s(approx (- x (* (* x x) x)) #s(hole binary64 (* x (+ 1 (* -1 (pow x 2))))))
#s(approx (- x (* (* x x) x)) (-.f64 x (pow.f64 x #s(literal 3 binary64))))
#s(approx (* x x) #s(hole binary64 (pow x 2)))
#s(approx (* x x) (*.f64 x x))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (/ 1 x)))
#s(approx (/ x (+ (* x x) 1)) (/.f64 #s(literal 1 binary64) x))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (/ (- 1 (/ 1 (pow x 2))) x)))
#s(approx (/ x (+ (* x x) 1)) (/.f64 (-.f64 #s(literal 1 binary64) (/.f64 (/.f64 #s(literal 1 binary64) x) x)) x))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (/ (- (+ 1 (/ 1 (pow x 4))) (/ 1 (pow x 2))) x)))
#s(approx (/ x (+ (* x x) 1)) (/.f64 (-.f64 (-.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 4 binary64))) #s(literal -1 binary64)) (/.f64 (/.f64 #s(literal 1 binary64) x) x)) x))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (/ (- (+ 1 (/ 1 (pow x 4))) (+ (/ 1 (pow x 2)) (/ 1 (pow x 6)))) x)))
#s(approx (/ x (+ (* x x) 1)) (/.f64 (-.f64 (-.f64 (-.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 4 binary64))) #s(literal -1 binary64)) (/.f64 (/.f64 #s(literal 1 binary64) x) x)) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 6 binary64)))) x))
#s(approx (- x (* (* x x) x)) #s(hole binary64 (* -1 (pow x 3))))
#s(approx (- x (* (* x x) x)) (pow.f64 (neg.f64 x) #s(literal 3 binary64)))
#s(approx (- x (* (* x x) x)) #s(hole binary64 (* (pow x 3) (- (/ 1 (pow x 2)) 1))))
#s(approx (- x (* (* x x) x)) (*.f64 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) x) x) #s(literal 1 binary64)) (pow.f64 x #s(literal 3 binary64))))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (* -1 (/ (- (/ 1 (pow x 2)) 1) x))))
#s(approx (/ x (+ (* x x) 1)) (-.f64 (/.f64 #s(literal -1 binary64) (pow.f64 x #s(literal 3 binary64))) (/.f64 #s(literal -1 binary64) x)))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (* -1 (/ (- (/ 1 (pow x 2)) (+ 1 (/ 1 (pow x 4)))) x))))
#s(approx (/ x (+ (* x x) 1)) (/.f64 (-.f64 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) x) x) #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 4 binary64)))) (neg.f64 x)))
#s(approx (/ x (+ (* x x) 1)) #s(hole binary64 (* -1 (/ (- (+ (/ 1 (pow x 2)) (/ 1 (pow x 6))) (+ 1 (/ 1 (pow x 4)))) x))))
#s(approx (/ x (+ (* x x) 1)) (/.f64 (-.f64 (/.f64 #s(literal -1 binary64) (pow.f64 x #s(literal 6 binary64))) (-.f64 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) x) x) #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 4 binary64))))) x))
#s(approx (- x (* (* x x) x)) #s(hole binary64 (* -1 (* (pow x 3) (- 1 (/ 1 (pow x 2)))))))
#s(approx (- x (* (* x x) x)) (*.f64 (+.f64 #s(literal -1 binary64) (/.f64 (/.f64 #s(literal 1 binary64) x) x)) (pow.f64 x #s(literal 3 binary64))))

rewrite51.0ms (1.1%)

Memory
6.3MiB live, 49.5MiB allocated; 4ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0930
01224
15224
039323
Stop Event
iter limit
iter limit
iter limit
unsound
iter limit
Counts
4 → 45
Calls
Call 1
Inputs
(*.f64 (*.f64 x x) x)
#s(approx (/ x (+ (* x x) 1)) (-.f64 x (*.f64 (*.f64 x x) x)))
(-.f64 x (*.f64 (*.f64 x x) x))
(*.f64 x x)
Outputs
(*.f64 (*.f64 x (fabs.f64 x)) (fabs.f64 x))
(*.f64 (pow.f64 x #s(literal 3/2 binary64)) (pow.f64 x #s(literal 3/2 binary64)))
(*.f64 (*.f64 (neg.f64 x) x) (neg.f64 x))
(*.f64 (neg.f64 x) (*.f64 (neg.f64 x) x))
(*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) x))
(*.f64 (*.f64 x x) x)
(*.f64 x (*.f64 x x))
(pow.f64 x #s(literal 3 binary64))
(exp.f64 (*.f64 (log.f64 x) #s(literal 3 binary64)))
#s(approx (/ x (+ (* x x) 1)) (-.f64 x (pow.f64 x #s(literal 3 binary64))))
(*.f64 (fma.f64 (neg.f64 x) x #s(literal 1 binary64)) x)
(/.f64 (+.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 (neg.f64 (pow.f64 x #s(literal 3 binary64))) #s(literal 3 binary64))) (fma.f64 x x (-.f64 (pow.f64 x #s(literal 6 binary64)) (*.f64 x (neg.f64 (pow.f64 x #s(literal 3 binary64)))))))
(/.f64 (neg.f64 (-.f64 (*.f64 x x) (pow.f64 x #s(literal 6 binary64)))) (neg.f64 (+.f64 (pow.f64 x #s(literal 3 binary64)) x)))
(/.f64 (neg.f64 (-.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 x #s(literal 9 binary64)))) (neg.f64 (fma.f64 x x (+.f64 (pow.f64 x #s(literal 6 binary64)) (pow.f64 x #s(literal 4 binary64))))))
(/.f64 (-.f64 (*.f64 x x) (pow.f64 x #s(literal 6 binary64))) (+.f64 (pow.f64 x #s(literal 3 binary64)) x))
(/.f64 (-.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 x #s(literal 9 binary64))) (fma.f64 x x (+.f64 (pow.f64 x #s(literal 6 binary64)) (pow.f64 x #s(literal 4 binary64)))))
(fma.f64 (*.f64 (neg.f64 x) x) x x)
(fma.f64 x (*.f64 (neg.f64 x) x) x)
(-.f64 (/.f64 (*.f64 x x) (+.f64 (pow.f64 x #s(literal 3 binary64)) x)) (/.f64 (pow.f64 x #s(literal 6 binary64)) (+.f64 (pow.f64 x #s(literal 3 binary64)) x)))
(-.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x (+.f64 (pow.f64 x #s(literal 6 binary64)) (pow.f64 x #s(literal 4 binary64))))) (/.f64 (pow.f64 x #s(literal 9 binary64)) (fma.f64 x x (+.f64 (pow.f64 x #s(literal 6 binary64)) (pow.f64 x #s(literal 4 binary64))))))
(-.f64 x (pow.f64 x #s(literal 3 binary64)))
(+.f64 (neg.f64 (pow.f64 x #s(literal 3 binary64))) x)
(+.f64 x (*.f64 (neg.f64 x) (*.f64 x x)))
(+.f64 x (neg.f64 (pow.f64 x #s(literal 3 binary64))))
(*.f64 (*.f64 (neg.f64 x) #s(literal 1 binary64)) (*.f64 (neg.f64 x) #s(literal 1 binary64)))
(*.f64 (*.f64 (fabs.f64 x) #s(literal 1 binary64)) (*.f64 (fabs.f64 x) #s(literal 1 binary64)))
(*.f64 (*.f64 x #s(literal 1 binary64)) (*.f64 x #s(literal 1 binary64)))
(*.f64 (pow.f64 x #s(literal 1 binary64)) (pow.f64 x #s(literal 1 binary64)))
(*.f64 (neg.f64 (neg.f64 x)) (neg.f64 (neg.f64 x)))
(*.f64 (neg.f64 (fabs.f64 x)) (neg.f64 (fabs.f64 x)))
(*.f64 (fabs.f64 (fabs.f64 x)) (fabs.f64 (fabs.f64 x)))
(*.f64 (neg.f64 x) (*.f64 (neg.f64 x) #s(literal 1 binary64)))
(*.f64 (neg.f64 x) (neg.f64 x))
(*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) #s(literal 1 binary64)))
(*.f64 (fabs.f64 x) (fabs.f64 x))
(*.f64 #s(literal 1 binary64) (*.f64 x x))
(*.f64 (*.f64 x x) #s(literal 1 binary64))
(*.f64 x (*.f64 x #s(literal 1 binary64)))
(*.f64 x x)
(pow.f64 (neg.f64 x) #s(literal 2 binary64))
(pow.f64 (fabs.f64 x) #s(literal 2 binary64))
(pow.f64 x #s(literal 2 binary64))
(neg.f64 (*.f64 (neg.f64 x) x))
(fabs.f64 (*.f64 x x))
(exp.f64 (*.f64 (log.f64 x) #s(literal 2 binary64)))

eval6.0ms (0.1%)

Memory
8.6MiB live, 8.6MiB allocated; 0ms collecting garbage
Compiler

Compiled 1 171 to 244 computations (79.2% saved)

prune4.0ms (0.1%)

Memory
6.9MiB live, 6.9MiB allocated; 0ms collecting garbage
Pruning

7 alts after pruning (1 fresh and 6 done)

PrunedKeptTotal
New61162
Fresh000
Picked011
Done055
Total61768
Accuracy
100.0%
Counts
68 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
74.9%
(/.f64 x (fma.f64 x x #s(literal 1 binary64)))
25.2%
(/.f64 x #s(approx (+ (* x x) 1) (*.f64 x x)))
49.6%
#s(approx (/ x (+ (* x x) 1)) (/.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (*.f64 x x))) x))
50.4%
#s(approx (/ x (+ (* x x) 1)) (/.f64 #s(literal 1 binary64) x))
51.1%
#s(approx (/ x (+ (* x x) 1)) (-.f64 x (*.f64 (*.f64 x x) x)))
51.1%
#s(approx (/ x (+ (* x x) 1)) (*.f64 (fma.f64 (neg.f64 x) x #s(literal 1 binary64)) x))
51.8%
#s(approx (/ x (+ (* x x) 1)) x)
Compiler

Compiled 188 to 86 computations (54.3% saved)

regimes6.0ms (0.1%)

Memory
9.6MiB live, 9.6MiB allocated; 0ms collecting garbage
Counts
9 → 2
Calls
Call 1
Inputs
#s(approx (/ x (+ (* x x) 1)) x)
#s(approx (/ x (+ (* x x) 1)) (/.f64 #s(literal 1 binary64) x))
#s(approx (/ x (+ (* x x) 1)) (*.f64 (fma.f64 (neg.f64 x) x #s(literal 1 binary64)) x))
#s(approx (/ x (+ (* x x) 1)) (-.f64 x (*.f64 (*.f64 x x) x)))
(/.f64 x #s(approx (+ (* x x) 1) (*.f64 x x)))
(/.f64 x (fma.f64 x x #s(literal 1 binary64)))
(/.f64 x (+.f64 (*.f64 x x) #s(literal 1 binary64)))
#s(approx (/ x (+ (* x x) 1)) (/.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (*.f64 x x))) x))
#s(approx (/ x (+ (* x x) 1)) (-.f64 x (pow.f64 x #s(literal 3 binary64))))
Outputs
(/.f64 x (fma.f64 x x #s(literal 1 binary64)))
#s(approx (/ x (+ (* x x) 1)) (/.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (*.f64 x x))) x))
Calls

2 calls:

3.0ms
x
3.0ms
(/.f64 x (+.f64 (*.f64 x x) #s(literal 1 binary64)))
Results
AccuracySegmentsBranch
99.9%2(/.f64 x (+.f64 (*.f64 x x) #s(literal 1 binary64)))
100.0%2x
Compiler

Compiled 8 to 6 computations (25% saved)

regimes3.0ms (0.1%)

Memory
5.9MiB live, 5.9MiB allocated; 0ms collecting garbage
Counts
7 → 2
Calls
Call 1
Inputs
#s(approx (/ x (+ (* x x) 1)) x)
#s(approx (/ x (+ (* x x) 1)) (/.f64 #s(literal 1 binary64) x))
#s(approx (/ x (+ (* x x) 1)) (*.f64 (fma.f64 (neg.f64 x) x #s(literal 1 binary64)) x))
#s(approx (/ x (+ (* x x) 1)) (-.f64 x (*.f64 (*.f64 x x) x)))
(/.f64 x #s(approx (+ (* x x) 1) (*.f64 x x)))
(/.f64 x (fma.f64 x x #s(literal 1 binary64)))
(/.f64 x (+.f64 (*.f64 x x) #s(literal 1 binary64)))
Outputs
(/.f64 x (fma.f64 x x #s(literal 1 binary64)))
#s(approx (/ x (+ (* x x) 1)) (/.f64 #s(literal 1 binary64) x))
Calls

1 calls:

2.0ms
x
Results
AccuracySegmentsBranch
100.0%2x
Compiler

Compiled 1 to 1 computations (0% saved)

regimes11.0ms (0.2%)

Memory
-51.8MiB live, 9.6MiB allocated; 8ms collecting garbage
Counts
5 → 2
Calls
Call 1
Inputs
#s(approx (/ x (+ (* x x) 1)) x)
#s(approx (/ x (+ (* x x) 1)) (/.f64 #s(literal 1 binary64) x))
#s(approx (/ x (+ (* x x) 1)) (*.f64 (fma.f64 (neg.f64 x) x #s(literal 1 binary64)) x))
#s(approx (/ x (+ (* x x) 1)) (-.f64 x (*.f64 (*.f64 x x) x)))
(/.f64 x #s(approx (+ (* x x) 1) (*.f64 x x)))
Outputs
#s(approx (/ x (+ (* x x) 1)) (-.f64 x (*.f64 (*.f64 x x) x)))
#s(approx (/ x (+ (* x x) 1)) (/.f64 #s(literal 1 binary64) x))
Calls

2 calls:

8.0ms
x
2.0ms
(/.f64 x (+.f64 (*.f64 x x) #s(literal 1 binary64)))
Results
AccuracySegmentsBranch
81.6%4(/.f64 x (+.f64 (*.f64 x x) #s(literal 1 binary64)))
99.0%2x
Compiler

Compiled 8 to 6 computations (25% saved)

regimes2.0ms (0%)

Memory
3.9MiB live, 3.9MiB allocated; 0ms collecting garbage
Counts
3 → 2
Calls
Call 1
Inputs
#s(approx (/ x (+ (* x x) 1)) x)
#s(approx (/ x (+ (* x x) 1)) (/.f64 #s(literal 1 binary64) x))
#s(approx (/ x (+ (* x x) 1)) (*.f64 (fma.f64 (neg.f64 x) x #s(literal 1 binary64)) x))
Outputs
#s(approx (/ x (+ (* x x) 1)) (*.f64 (fma.f64 (neg.f64 x) x #s(literal 1 binary64)) x))
#s(approx (/ x (+ (* x x) 1)) (/.f64 #s(literal 1 binary64) x))
Calls

1 calls:

2.0ms
x
Results
AccuracySegmentsBranch
99.0%2x
Compiler

Compiled 1 to 1 computations (0% saved)

regimes1.0ms (0%)

Memory
4.1MiB live, 4.1MiB allocated; 0ms collecting garbage
Counts
2 → 2
Calls
Call 1
Inputs
#s(approx (/ x (+ (* x x) 1)) x)
#s(approx (/ x (+ (* x x) 1)) (/.f64 #s(literal 1 binary64) x))
Outputs
#s(approx (/ x (+ (* x x) 1)) x)
#s(approx (/ x (+ (* x x) 1)) (/.f64 #s(literal 1 binary64) x))
Calls

1 calls:

1.0ms
x
Results
AccuracySegmentsBranch
98.5%2x
Compiler

Compiled 1 to 1 computations (0% saved)

regimes2.0ms (0%)

Memory
6.1MiB live, 6.1MiB allocated; 0ms collecting garbage
Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

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

2 calls:

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

Compiled 8 to 6 computations (25% saved)

bsearch2.0ms (0%)

Memory
3.2MiB live, 3.2MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
predicate-same
Steps
TimeLeftRight
1.0ms
7913.573294084999
167222.066959367
Samples
1.0ms16×0valid
Compiler

Compiled 33 to 26 computations (21.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 0.0ms
ival-div: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
ival-add: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
ival-mult: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

bsearch2.0ms (0%)

Memory
2.8MiB live, 2.8MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
predicate-same
Steps
TimeLeftRight
1.0ms
6132732.760920031
7.649585088288519e+23
Samples
1.0ms16×0valid
Compiler

Compiled 27 to 23 computations (14.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 0.0ms
ival-div: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
ival-add: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
ival-mult: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

bsearch10.0ms (0.2%)

Memory
10.6MiB live, 10.6MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
9.0ms
0.012310832682871588
18.37504024598954
Samples
5.0ms128×0valid
Compiler

Compiled 218 to 161 computations (26.1% saved)

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

bsearch1.0ms (0%)

Memory
1.0MiB live, 1.0MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
1.0ms
0.012310832682871588
18.37504024598954
Compiler

Compiled 218 to 169 computations (22.5% saved)

bsearch4.0ms (0.1%)

Memory
4.1MiB live, 4.1MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
4.0ms
0.012310832682871588
18.37504024598954
Samples
2.0ms48×0valid
Compiler

Compiled 170 to 137 computations (19.4% saved)

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

simplify55.0ms (1.2%)

Memory
-0.2MiB live, 45.8MiB allocated; 5ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
034141
151141
289141
3136141
4195141
5431141
63032141
77012141
Stop Event
node limit
Calls
Call 1
Inputs
(if (<=.f64 x #s(literal 10000 binary64)) (/.f64 x (fma.f64 x x #s(literal 1 binary64))) #s(approx (/ x (+ (* x x) 1)) (/.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (*.f64 x x))) x)))
(if (<=.f64 x #s(literal 10000000 binary64)) (/.f64 x (fma.f64 x x #s(literal 1 binary64))) #s(approx (/ x (+ (* x x) 1)) (/.f64 #s(literal 1 binary64) x)))
(if (<=.f64 x #s(literal 7656119366529843/9007199254740992 binary64)) #s(approx (/ x (+ (* x x) 1)) (-.f64 x (*.f64 (*.f64 x x) x))) #s(approx (/ x (+ (* x x) 1)) (/.f64 #s(literal 1 binary64) x)))
(if (<=.f64 x #s(literal 7656119366529843/9007199254740992 binary64)) #s(approx (/ x (+ (* x x) 1)) (*.f64 (fma.f64 (neg.f64 x) x #s(literal 1 binary64)) x)) #s(approx (/ x (+ (* x x) 1)) (/.f64 #s(literal 1 binary64) x)))
(if (<=.f64 x #s(literal 1 binary64)) #s(approx (/ x (+ (* x x) 1)) x) #s(approx (/ x (+ (* x x) 1)) (/.f64 #s(literal 1 binary64) x)))
#s(approx (/ x (+ (* x x) 1)) x)
Outputs
(if (<=.f64 x #s(literal 10000 binary64)) (/.f64 x (fma.f64 x x #s(literal 1 binary64))) #s(approx (/ x (+ (* x x) 1)) (/.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (*.f64 x x))) x)))
(if (<=.f64 x #s(literal 10000000 binary64)) (/.f64 x (fma.f64 x x #s(literal 1 binary64))) #s(approx (/ x (+ (* x x) 1)) (/.f64 #s(literal 1 binary64) x)))
(if (<=.f64 x #s(literal 7656119366529843/9007199254740992 binary64)) #s(approx (/ x (+ (* x x) 1)) (-.f64 x (*.f64 (*.f64 x x) x))) #s(approx (/ x (+ (* x x) 1)) (/.f64 #s(literal 1 binary64) x)))
(if (<=.f64 x #s(literal 7656119366529843/9007199254740992 binary64)) #s(approx (/ x (+ (* x x) 1)) (*.f64 (fma.f64 (neg.f64 x) x #s(literal 1 binary64)) x)) #s(approx (/ x (+ (* x x) 1)) (/.f64 #s(literal 1 binary64) x)))
(if (<=.f64 x #s(literal 1 binary64)) #s(approx (/ x (+ (* x x) 1)) x) #s(approx (/ x (+ (* x x) 1)) (/.f64 #s(literal 1 binary64) x)))
#s(approx (/ x (+ (* x x) 1)) x)

derivations186.0ms (4%)

Memory
16.8MiB live, 151.7MiB allocated; 30ms collecting garbage
Stop Event
fuel
Compiler

Compiled 141 to 35 computations (75.2% saved)

preprocess86.0ms (1.8%)

Memory
-18.0MiB live, 115.9MiB allocated; 28ms collecting garbage
Compiler

Compiled 364 to 122 computations (66.5% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated; 0ms collecting garbage

Profiling

Loading profile data...