Data.Colour.RGBSpace.HSL:hsl from colour-2.3.3, F

Time bar (total: 3.4s)

start0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated

analyze0.0ms (0%)

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

Compiled 7 to 7 computations (0% saved)

sample1.0s (29.4%)

Memory
-40.1MiB live, 935.8MiB allocated
Samples
774.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 361.0ms
ival-div: 180.0ms (49.8% of total)
ival-add: 165.0ms (45.7% of total)
ival-true: 7.0ms (1.9% of total)
exact: 7.0ms (1.9% of total)
ival-assert: 3.0ms (0.8% of total)
Bogosity

explain99.0ms (2.9%)

Memory
11.8MiB live, 88.9MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
00-0-#s(literal 1 binary64)
00-0-#s(literal 3 binary64)
00-0-(/.f64 #s(literal 1 binary64) #s(literal 3 binary64))
00-0-(+.f64 x (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))
00-0-x
Confusion
Predicted +Predicted -
+00
-0256
Precision
0/0
Recall
0/0
Confusion?
Predicted +Predicted MaybePredicted -
+000
-00256
Precision?
0/0
Recall?
0/0
Freqs
test
numberfreq
0256
Total Confusion?
Predicted +Predicted MaybePredicted -
+000
-001
Precision?
0/0
Recall?
0/0
Samples
50.0ms512×0valid
Compiler

Compiled 31 to 19 computations (38.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 39.0ms
ival-div: 36.0ms (91.6% of total)
ival-add: 3.0ms (7.6% of total)
exact: 1.0ms (2.5% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess13.0ms (0.4%)

Memory
14.5MiB live, 14.5MiB allocated
Algorithm
egg-herbie
Rules
12×associate--r+
12×sub-neg
10×distribute-lft-neg-in
10×associate-+l-
10×distribute-neg-in
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
089
1206
2426
3746
4966
51066
053
083
1113
0113
Stop Event
iter limit
saturated
iter limit
saturated
Calls
Call 1
Inputs
(+.f64 x (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))
Outputs
(+.f64 x (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))
(+.f64 #s(literal 1/3 binary64) x)
Compiler

Compiled 5 to 5 computations (0% saved)

eval0.0ms (0%)

Memory
0.3MiB live, 0.3MiB allocated
Compiler

Compiled 0 to 1 computations (-∞% saved)

prune0.0ms (0%)

Memory
0.9MiB live, 0.9MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(+.f64 x (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))
Compiler

Compiled 5 to 5 computations (0% saved)

simplify3.0ms (0.1%)

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

Found 2 expressions of interest:

NewMetricScoreProgram
cost-diff0
(+.f64 x (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))
cost-diff704
(/.f64 #s(literal 1 binary64) #s(literal 3 binary64))
Rules
lower-+.f32
lift-+.f64
lift-/.f64
lower-+.f64
1-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
057
087
1117
0117
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(+.f64 x (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))
x
(/.f64 #s(literal 1 binary64) #s(literal 3 binary64))
#s(literal 1 binary64)
#s(literal 3 binary64)
Outputs
(+.f64 x (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))
(+.f64 #s(literal 1/3 binary64) x)
x
(/.f64 #s(literal 1 binary64) #s(literal 3 binary64))
#s(literal 1/3 binary64)
#s(literal 1 binary64)
#s(literal 3 binary64)

localize22.0ms (0.6%)

Memory
-19.2MiB live, 24.5MiB allocated
Localize:

Found 2 expressions of interest:

NewMetricScoreProgram
accuracy0
(/.f64 #s(literal 1 binary64) #s(literal 3 binary64))
accuracy0.0078125
(+.f64 x (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))
Samples
17.0ms256×0valid
Compiler

Compiled 13 to 7 computations (46.2% saved)

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

series1.0ms (0%)

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

3 calls:

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

simplify5.0ms (0.1%)

Memory
6.8MiB live, 6.8MiB allocated
Algorithm
egg-herbie
Rules
36×lower-*.f64
36×lower-*.f32
16×lower-/.f32
16×associate-*r*
16×lower-/.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0830
12230
23730
37730
47730
57830
68030
78030
08030
Stop Event
iter limit
saturated
Counts
12 → 10
Calls
Call 1
Inputs
1/3
(+ 1/3 x)
(+ 1/3 x)
(+ 1/3 x)
x
(* x (+ 1 (* 1/3 (/ 1 x))))
(* x (+ 1 (* 1/3 (/ 1 x))))
(* x (+ 1 (* 1/3 (/ 1 x))))
x
(* x (+ 1 (* 1/3 (/ 1 x))))
(* x (+ 1 (* 1/3 (/ 1 x))))
(* x (+ 1 (* 1/3 (/ 1 x))))
Outputs
1/3
#s(literal 1/3 binary64)
(+ 1/3 x)
(+.f64 x #s(literal 1/3 binary64))
(+ 1/3 x)
(+.f64 x #s(literal 1/3 binary64))
(+ 1/3 x)
(+.f64 x #s(literal 1/3 binary64))
x
(* x (+ 1 (* 1/3 (/ 1 x))))
(+.f64 x #s(literal 1/3 binary64))
(* x (+ 1 (* 1/3 (/ 1 x))))
(+.f64 x #s(literal 1/3 binary64))
(* x (+ 1 (* 1/3 (/ 1 x))))
(+.f64 x #s(literal 1/3 binary64))
x
(* x (+ 1 (* 1/3 (/ 1 x))))
(+.f64 x #s(literal 1/3 binary64))
(* x (+ 1 (* 1/3 (/ 1 x))))
(+.f64 x #s(literal 1/3 binary64))
(* x (+ 1 (* 1/3 (/ 1 x))))
(+.f64 x #s(literal 1/3 binary64))

rewrite182.0ms (5.3%)

Memory
-13.8MiB live, 211.0MiB allocated
Rules
8 708×lower-fma.f64
8 708×lower-fma.f32
5 116×lower-*.f64
5 116×lower-*.f32
3 868×lower-/.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
054
084
1254
21264
39574
086434
Stop Event
iter limit
node limit
iter limit
Counts
2 → 265
Calls
Call 1
Inputs
(/.f64 #s(literal 1 binary64) #s(literal 3 binary64))
(+.f64 x (/.f64 #s(literal 1 binary64) #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>

eval31.0ms (0.9%)

Memory
36.3MiB live, 73.0MiB allocated
Compiler

Compiled 6 229 to 631 computations (89.9% saved)

prune28.0ms (0.8%)

Memory
-28.5MiB live, 30.1MiB allocated
Pruning

4 alts after pruning (4 fresh and 0 done)

PrunedKeptTotal
New2714275
Fresh000
Picked101
Done000
Total2724276
Accuracy
100.0%
Counts
276 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(fma.f64 x (/.f64 x (-.f64 x #s(literal 1/3 binary64))) (/.f64 #s(literal -1/9 binary64) (-.f64 x #s(literal 1/3 binary64))))
69.0%
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 x x #s(literal 1/9 binary64)) (*.f64 (fma.f64 x x #s(literal 1/9 binary64)) (-.f64 x #s(literal -1/3 binary64)))))
100.0%
(-.f64 x #s(literal -1/3 binary64))
54.1%
#s(approx (+ x (/ 1 3)) #s(literal 1/3 binary64))
Compiler

Compiled 32 to 22 computations (31.3% saved)

simplify140.0ms (4.1%)

Memory
18.1MiB live, 171.6MiB allocated
Algorithm
egg-herbie
Localize:

Found 10 expressions of interest:

NewMetricScoreProgram
cost-diff0
(/.f64 #s(literal -1/9 binary64) (-.f64 x #s(literal 1/3 binary64)))
cost-diff0
(-.f64 x #s(literal 1/3 binary64))
cost-diff0
(/.f64 x (-.f64 x #s(literal 1/3 binary64)))
cost-diff0
(fma.f64 x (/.f64 x (-.f64 x #s(literal 1/3 binary64))) (/.f64 #s(literal -1/9 binary64) (-.f64 x #s(literal 1/3 binary64))))
cost-diff0
(*.f64 (fma.f64 x x #s(literal 1/9 binary64)) (-.f64 x #s(literal -1/3 binary64)))
cost-diff0
(fma.f64 x x #s(literal 1/9 binary64))
cost-diff1088
(/.f64 (fma.f64 x x #s(literal 1/9 binary64)) (*.f64 (fma.f64 x x #s(literal 1/9 binary64)) (-.f64 x #s(literal -1/3 binary64))))
cost-diff1408
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 x x #s(literal 1/9 binary64)) (*.f64 (fma.f64 x x #s(literal 1/9 binary64)) (-.f64 x #s(literal -1/3 binary64)))))
cost-diff0
(-.f64 x #s(literal -1/3 binary64))
cost-diff0
#s(approx (+ x (/ 1 3)) #s(literal 1/3 binary64))
Rules
10 696×lower-fma.f32
10 692×lower-fma.f64
3 604×lower-*.f32
3 602×lower-*.f64
2 560×lower-+.f64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01986
03074
14666
27566
323366
4108666
5505466
6643266
7667066
8746466
0823466
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
#s(approx (+ x (/ 1 3)) #s(literal 1/3 binary64))
#s(literal 1/3 binary64)
(-.f64 x #s(literal -1/3 binary64))
x
#s(literal -1/3 binary64)
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 x x #s(literal 1/9 binary64)) (*.f64 (fma.f64 x x #s(literal 1/9 binary64)) (-.f64 x #s(literal -1/3 binary64)))))
#s(literal 1 binary64)
(/.f64 (fma.f64 x x #s(literal 1/9 binary64)) (*.f64 (fma.f64 x x #s(literal 1/9 binary64)) (-.f64 x #s(literal -1/3 binary64))))
(fma.f64 x x #s(literal 1/9 binary64))
x
#s(literal 1/9 binary64)
(*.f64 (fma.f64 x x #s(literal 1/9 binary64)) (-.f64 x #s(literal -1/3 binary64)))
(-.f64 x #s(literal -1/3 binary64))
#s(literal -1/3 binary64)
(fma.f64 x (/.f64 x (-.f64 x #s(literal 1/3 binary64))) (/.f64 #s(literal -1/9 binary64) (-.f64 x #s(literal 1/3 binary64))))
x
(/.f64 x (-.f64 x #s(literal 1/3 binary64)))
(-.f64 x #s(literal 1/3 binary64))
#s(literal 1/3 binary64)
(/.f64 #s(literal -1/9 binary64) (-.f64 x #s(literal 1/3 binary64)))
#s(literal -1/9 binary64)
Outputs
#s(approx (+ x (/ 1 3)) #s(literal 1/3 binary64))
#s(literal 1/3 binary64)
(-.f64 x #s(literal -1/3 binary64))
x
#s(literal -1/3 binary64)
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 x x #s(literal 1/9 binary64)) (*.f64 (fma.f64 x x #s(literal 1/9 binary64)) (-.f64 x #s(literal -1/3 binary64)))))
(-.f64 x #s(literal -1/3 binary64))
#s(literal 1 binary64)
(/.f64 (fma.f64 x x #s(literal 1/9 binary64)) (*.f64 (fma.f64 x x #s(literal 1/9 binary64)) (-.f64 x #s(literal -1/3 binary64))))
(/.f64 #s(literal 1 binary64) (-.f64 x #s(literal -1/3 binary64)))
(fma.f64 x x #s(literal 1/9 binary64))
x
#s(literal 1/9 binary64)
(*.f64 (fma.f64 x x #s(literal 1/9 binary64)) (-.f64 x #s(literal -1/3 binary64)))
(-.f64 x #s(literal -1/3 binary64))
#s(literal -1/3 binary64)
(fma.f64 x (/.f64 x (-.f64 x #s(literal 1/3 binary64))) (/.f64 #s(literal -1/9 binary64) (-.f64 x #s(literal 1/3 binary64))))
(fma.f64 (/.f64 x (-.f64 x #s(literal 1/3 binary64))) x (/.f64 #s(literal -1/9 binary64) (-.f64 x #s(literal 1/3 binary64))))
x
(/.f64 x (-.f64 x #s(literal 1/3 binary64)))
(-.f64 x #s(literal 1/3 binary64))
#s(literal 1/3 binary64)
(/.f64 #s(literal -1/9 binary64) (-.f64 x #s(literal 1/3 binary64)))
#s(literal -1/9 binary64)

localize82.0ms (2.4%)

Memory
-6.5MiB live, 147.1MiB allocated
Localize:

Found 10 expressions of interest:

NewMetricScoreProgram
accuracy0.029138404760301943
(fma.f64 x (/.f64 x (-.f64 x #s(literal 1/3 binary64))) (/.f64 #s(literal -1/9 binary64) (-.f64 x #s(literal 1/3 binary64))))
accuracy0.029138404760301943
(-.f64 x #s(literal 1/3 binary64))
accuracy0.16796875
(/.f64 x (-.f64 x #s(literal 1/3 binary64)))
accuracy0.19140625
(/.f64 #s(literal -1/9 binary64) (-.f64 x #s(literal 1/3 binary64)))
accuracy0.0078125
(-.f64 x #s(literal -1/3 binary64))
accuracy0.03515625
(*.f64 (fma.f64 x x #s(literal 1/9 binary64)) (-.f64 x #s(literal -1/3 binary64)))
accuracy0.09765625
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 x x #s(literal 1/9 binary64)) (*.f64 (fma.f64 x x #s(literal 1/9 binary64)) (-.f64 x #s(literal -1/3 binary64)))))
accuracy19.621765783130456
(/.f64 (fma.f64 x x #s(literal 1/9 binary64)) (*.f64 (fma.f64 x x #s(literal 1/9 binary64)) (-.f64 x #s(literal -1/3 binary64))))
accuracy0.0078125
(-.f64 x #s(literal -1/3 binary64))
accuracy29.379982086221666
#s(approx (+ x (/ 1 3)) #s(literal 1/3 binary64))
Samples
42.0ms211×0valid
13.0ms22×2valid
9.0ms23×1valid
Compiler

Compiled 95 to 22 computations (76.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 42.0ms
const: 15.0ms (35.8% of total)
ival-div: 11.0ms (26.2% of total)
ival-add: 5.0ms (11.9% of total)
ival-mult: 5.0ms (11.9% of total)
adjust: 3.0ms (7.2% of total)
ival-sub: 3.0ms (7.2% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series11.0ms (0.3%)

Memory
-14.8MiB live, 22.7MiB allocated
Counts
10 → 120
Calls
Call 1
Inputs
#s(alt #s(approx (+ x (/ 1 3)) #s(literal 1/3 binary64)) (patch #s(approx (+ x (/ 1 3)) #s(literal 1/3 binary64)) #<representation binary64>) () ())
#s(alt (-.f64 x #s(literal -1/3 binary64)) (patch (-.f64 x #s(literal -1/3 binary64)) #<representation binary64>) () ())
#s(alt (/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 x x #s(literal 1/9 binary64)) (*.f64 (fma.f64 x x #s(literal 1/9 binary64)) (-.f64 x #s(literal -1/3 binary64))))) (patch (/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 x x #s(literal 1/9 binary64)) (*.f64 (fma.f64 x x #s(literal 1/9 binary64)) (-.f64 x #s(literal -1/3 binary64))))) #<representation binary64>) () ())
#s(alt (/.f64 (fma.f64 x x #s(literal 1/9 binary64)) (*.f64 (fma.f64 x x #s(literal 1/9 binary64)) (-.f64 x #s(literal -1/3 binary64)))) (patch (/.f64 (fma.f64 x x #s(literal 1/9 binary64)) (*.f64 (fma.f64 x x #s(literal 1/9 binary64)) (-.f64 x #s(literal -1/3 binary64)))) #<representation binary64>) () ())
#s(alt (fma.f64 x x #s(literal 1/9 binary64)) (patch (fma.f64 x x #s(literal 1/9 binary64)) #<representation binary64>) () ())
#s(alt (*.f64 (fma.f64 x x #s(literal 1/9 binary64)) (-.f64 x #s(literal -1/3 binary64))) (patch (*.f64 (fma.f64 x x #s(literal 1/9 binary64)) (-.f64 x #s(literal -1/3 binary64))) #<representation binary64>) () ())
#s(alt (fma.f64 x (/.f64 x (-.f64 x #s(literal 1/3 binary64))) (/.f64 #s(literal -1/9 binary64) (-.f64 x #s(literal 1/3 binary64)))) (patch (fma.f64 x (/.f64 x (-.f64 x #s(literal 1/3 binary64))) (/.f64 #s(literal -1/9 binary64) (-.f64 x #s(literal 1/3 binary64)))) #<representation binary64>) () ())
#s(alt (/.f64 x (-.f64 x #s(literal 1/3 binary64))) (patch (/.f64 x (-.f64 x #s(literal 1/3 binary64))) #<representation binary64>) () ())
#s(alt (-.f64 x #s(literal 1/3 binary64)) (patch (-.f64 x #s(literal 1/3 binary64)) #<representation binary64>) () ())
#s(alt (/.f64 #s(literal -1/9 binary64) (-.f64 x #s(literal 1/3 binary64))) (patch (/.f64 #s(literal -1/9 binary64) (-.f64 x #s(literal 1/3 binary64))) #<representation binary64>) () ())
Outputs
#s(alt 1/3 (taylor 0 x) (#s(alt #s(approx (+ x (/ 1 3)) #s(literal 1/3 binary64)) (patch #s(approx (+ x (/ 1 3)) #s(literal 1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1/3 x) (taylor 0 x) (#s(alt #s(approx (+ x (/ 1 3)) #s(literal 1/3 binary64)) (patch #s(approx (+ x (/ 1 3)) #s(literal 1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1/3 x) (taylor 0 x) (#s(alt #s(approx (+ x (/ 1 3)) #s(literal 1/3 binary64)) (patch #s(approx (+ x (/ 1 3)) #s(literal 1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1/3 x) (taylor 0 x) (#s(alt #s(approx (+ x (/ 1 3)) #s(literal 1/3 binary64)) (patch #s(approx (+ x (/ 1 3)) #s(literal 1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt 1/3 (taylor 0 x) (#s(alt (-.f64 x #s(literal -1/3 binary64)) (patch (-.f64 x #s(literal -1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1/3 x) (taylor 0 x) (#s(alt (-.f64 x #s(literal -1/3 binary64)) (patch (-.f64 x #s(literal -1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1/3 x) (taylor 0 x) (#s(alt (-.f64 x #s(literal -1/3 binary64)) (patch (-.f64 x #s(literal -1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1/3 x) (taylor 0 x) (#s(alt (-.f64 x #s(literal -1/3 binary64)) (patch (-.f64 x #s(literal -1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt 1/3 (taylor 0 x) (#s(alt (/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 x x #s(literal 1/9 binary64)) (*.f64 (fma.f64 x x #s(literal 1/9 binary64)) (-.f64 x #s(literal -1/3 binary64))))) (patch (/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 x x #s(literal 1/9 binary64)) (*.f64 (fma.f64 x x #s(literal 1/9 binary64)) (-.f64 x #s(literal -1/3 binary64))))) #<representation binary64>) () ())) ())
#s(alt (+ 1/3 x) (taylor 0 x) (#s(alt (/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 x x #s(literal 1/9 binary64)) (*.f64 (fma.f64 x x #s(literal 1/9 binary64)) (-.f64 x #s(literal -1/3 binary64))))) (patch (/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 x x #s(literal 1/9 binary64)) (*.f64 (fma.f64 x x #s(literal 1/9 binary64)) (-.f64 x #s(literal -1/3 binary64))))) #<representation binary64>) () ())) ())
#s(alt (+ 1/3 x) (taylor 0 x) (#s(alt (/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 x x #s(literal 1/9 binary64)) (*.f64 (fma.f64 x x #s(literal 1/9 binary64)) (-.f64 x #s(literal -1/3 binary64))))) (patch (/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 x x #s(literal 1/9 binary64)) (*.f64 (fma.f64 x x #s(literal 1/9 binary64)) (-.f64 x #s(literal -1/3 binary64))))) #<representation binary64>) () ())) ())
#s(alt (+ 1/3 x) (taylor 0 x) (#s(alt (/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 x x #s(literal 1/9 binary64)) (*.f64 (fma.f64 x x #s(literal 1/9 binary64)) (-.f64 x #s(literal -1/3 binary64))))) (patch (/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 x x #s(literal 1/9 binary64)) (*.f64 (fma.f64 x x #s(literal 1/9 binary64)) (-.f64 x #s(literal -1/3 binary64))))) #<representation binary64>) () ())) ())
#s(alt 3 (taylor 0 x) (#s(alt (/.f64 (fma.f64 x x #s(literal 1/9 binary64)) (*.f64 (fma.f64 x x #s(literal 1/9 binary64)) (-.f64 x #s(literal -1/3 binary64)))) (patch (/.f64 (fma.f64 x x #s(literal 1/9 binary64)) (*.f64 (fma.f64 x x #s(literal 1/9 binary64)) (-.f64 x #s(literal -1/3 binary64)))) #<representation binary64>) () ())) ())
#s(alt (+ 3 (* -9 x)) (taylor 0 x) (#s(alt (/.f64 (fma.f64 x x #s(literal 1/9 binary64)) (*.f64 (fma.f64 x x #s(literal 1/9 binary64)) (-.f64 x #s(literal -1/3 binary64)))) (patch (/.f64 (fma.f64 x x #s(literal 1/9 binary64)) (*.f64 (fma.f64 x x #s(literal 1/9 binary64)) (-.f64 x #s(literal -1/3 binary64)))) #<representation binary64>) () ())) ())
#s(alt (+ 3 (* x (- (* 27 x) 9))) (taylor 0 x) (#s(alt (/.f64 (fma.f64 x x #s(literal 1/9 binary64)) (*.f64 (fma.f64 x x #s(literal 1/9 binary64)) (-.f64 x #s(literal -1/3 binary64)))) (patch (/.f64 (fma.f64 x x #s(literal 1/9 binary64)) (*.f64 (fma.f64 x x #s(literal 1/9 binary64)) (-.f64 x #s(literal -1/3 binary64)))) #<representation binary64>) () ())) ())
#s(alt (+ 3 (* x (- (* x (+ 27 (* -81 x))) 9))) (taylor 0 x) (#s(alt (/.f64 (fma.f64 x x #s(literal 1/9 binary64)) (*.f64 (fma.f64 x x #s(literal 1/9 binary64)) (-.f64 x #s(literal -1/3 binary64)))) (patch (/.f64 (fma.f64 x x #s(literal 1/9 binary64)) (*.f64 (fma.f64 x x #s(literal 1/9 binary64)) (-.f64 x #s(literal -1/3 binary64)))) #<representation binary64>) () ())) ())
#s(alt 1/9 (taylor 0 x) (#s(alt (fma.f64 x x #s(literal 1/9 binary64)) (patch (fma.f64 x x #s(literal 1/9 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1/9 (pow x 2)) (taylor 0 x) (#s(alt (fma.f64 x x #s(literal 1/9 binary64)) (patch (fma.f64 x x #s(literal 1/9 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1/9 (pow x 2)) (taylor 0 x) (#s(alt (fma.f64 x x #s(literal 1/9 binary64)) (patch (fma.f64 x x #s(literal 1/9 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1/9 (pow x 2)) (taylor 0 x) (#s(alt (fma.f64 x x #s(literal 1/9 binary64)) (patch (fma.f64 x x #s(literal 1/9 binary64)) #<representation binary64>) () ())) ())
#s(alt 1/27 (taylor 0 x) (#s(alt (*.f64 (fma.f64 x x #s(literal 1/9 binary64)) (-.f64 x #s(literal -1/3 binary64))) (patch (*.f64 (fma.f64 x x #s(literal 1/9 binary64)) (-.f64 x #s(literal -1/3 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ 1/27 (* 1/9 x)) (taylor 0 x) (#s(alt (*.f64 (fma.f64 x x #s(literal 1/9 binary64)) (-.f64 x #s(literal -1/3 binary64))) (patch (*.f64 (fma.f64 x x #s(literal 1/9 binary64)) (-.f64 x #s(literal -1/3 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ 1/27 (* x (+ 1/9 (* 1/3 x)))) (taylor 0 x) (#s(alt (*.f64 (fma.f64 x x #s(literal 1/9 binary64)) (-.f64 x #s(literal -1/3 binary64))) (patch (*.f64 (fma.f64 x x #s(literal 1/9 binary64)) (-.f64 x #s(literal -1/3 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ 1/27 (* x (+ 1/9 (* x (+ 1/3 x))))) (taylor 0 x) (#s(alt (*.f64 (fma.f64 x x #s(literal 1/9 binary64)) (-.f64 x #s(literal -1/3 binary64))) (patch (*.f64 (fma.f64 x x #s(literal 1/9 binary64)) (-.f64 x #s(literal -1/3 binary64))) #<representation binary64>) () ())) ())
#s(alt 1/3 (taylor 0 x) (#s(alt (fma.f64 x (/.f64 x (-.f64 x #s(literal 1/3 binary64))) (/.f64 #s(literal -1/9 binary64) (-.f64 x #s(literal 1/3 binary64)))) (patch (fma.f64 x (/.f64 x (-.f64 x #s(literal 1/3 binary64))) (/.f64 #s(literal -1/9 binary64) (-.f64 x #s(literal 1/3 binary64)))) #<representation binary64>) () ())) ())
#s(alt (+ 1/3 x) (taylor 0 x) (#s(alt (fma.f64 x (/.f64 x (-.f64 x #s(literal 1/3 binary64))) (/.f64 #s(literal -1/9 binary64) (-.f64 x #s(literal 1/3 binary64)))) (patch (fma.f64 x (/.f64 x (-.f64 x #s(literal 1/3 binary64))) (/.f64 #s(literal -1/9 binary64) (-.f64 x #s(literal 1/3 binary64)))) #<representation binary64>) () ())) ())
#s(alt (+ 1/3 x) (taylor 0 x) (#s(alt (fma.f64 x (/.f64 x (-.f64 x #s(literal 1/3 binary64))) (/.f64 #s(literal -1/9 binary64) (-.f64 x #s(literal 1/3 binary64)))) (patch (fma.f64 x (/.f64 x (-.f64 x #s(literal 1/3 binary64))) (/.f64 #s(literal -1/9 binary64) (-.f64 x #s(literal 1/3 binary64)))) #<representation binary64>) () ())) ())
#s(alt (+ 1/3 x) (taylor 0 x) (#s(alt (fma.f64 x (/.f64 x (-.f64 x #s(literal 1/3 binary64))) (/.f64 #s(literal -1/9 binary64) (-.f64 x #s(literal 1/3 binary64)))) (patch (fma.f64 x (/.f64 x (-.f64 x #s(literal 1/3 binary64))) (/.f64 #s(literal -1/9 binary64) (-.f64 x #s(literal 1/3 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* -3 x) (taylor 0 x) (#s(alt (/.f64 x (-.f64 x #s(literal 1/3 binary64))) (patch (/.f64 x (-.f64 x #s(literal 1/3 binary64))) #<representation binary64>) () ())) ())
#s(alt (* x (- (* -9 x) 3)) (taylor 0 x) (#s(alt (/.f64 x (-.f64 x #s(literal 1/3 binary64))) (patch (/.f64 x (-.f64 x #s(literal 1/3 binary64))) #<representation binary64>) () ())) ())
#s(alt (* x (- (* x (- (* -27 x) 9)) 3)) (taylor 0 x) (#s(alt (/.f64 x (-.f64 x #s(literal 1/3 binary64))) (patch (/.f64 x (-.f64 x #s(literal 1/3 binary64))) #<representation binary64>) () ())) ())
#s(alt (* x (- (* x (- (* x (- (* -81 x) 27)) 9)) 3)) (taylor 0 x) (#s(alt (/.f64 x (-.f64 x #s(literal 1/3 binary64))) (patch (/.f64 x (-.f64 x #s(literal 1/3 binary64))) #<representation binary64>) () ())) ())
#s(alt -1/3 (taylor 0 x) (#s(alt (-.f64 x #s(literal 1/3 binary64)) (patch (-.f64 x #s(literal 1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt (- x 1/3) (taylor 0 x) (#s(alt (-.f64 x #s(literal 1/3 binary64)) (patch (-.f64 x #s(literal 1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt (- x 1/3) (taylor 0 x) (#s(alt (-.f64 x #s(literal 1/3 binary64)) (patch (-.f64 x #s(literal 1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt (- x 1/3) (taylor 0 x) (#s(alt (-.f64 x #s(literal 1/3 binary64)) (patch (-.f64 x #s(literal 1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt 1/3 (taylor 0 x) (#s(alt (/.f64 #s(literal -1/9 binary64) (-.f64 x #s(literal 1/3 binary64))) (patch (/.f64 #s(literal -1/9 binary64) (-.f64 x #s(literal 1/3 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ 1/3 x) (taylor 0 x) (#s(alt (/.f64 #s(literal -1/9 binary64) (-.f64 x #s(literal 1/3 binary64))) (patch (/.f64 #s(literal -1/9 binary64) (-.f64 x #s(literal 1/3 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ 1/3 (* x (+ 1 (* 3 x)))) (taylor 0 x) (#s(alt (/.f64 #s(literal -1/9 binary64) (-.f64 x #s(literal 1/3 binary64))) (patch (/.f64 #s(literal -1/9 binary64) (-.f64 x #s(literal 1/3 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ 1/3 (* x (+ 1 (* x (+ 3 (* 9 x)))))) (taylor 0 x) (#s(alt (/.f64 #s(literal -1/9 binary64) (-.f64 x #s(literal 1/3 binary64))) (patch (/.f64 #s(literal -1/9 binary64) (-.f64 x #s(literal 1/3 binary64))) #<representation binary64>) () ())) ())
#s(alt x (taylor inf x) (#s(alt #s(approx (+ x (/ 1 3)) #s(literal 1/3 binary64)) (patch #s(approx (+ x (/ 1 3)) #s(literal 1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* 1/3 (/ 1 x)))) (taylor inf x) (#s(alt #s(approx (+ x (/ 1 3)) #s(literal 1/3 binary64)) (patch #s(approx (+ x (/ 1 3)) #s(literal 1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* 1/3 (/ 1 x)))) (taylor inf x) (#s(alt #s(approx (+ x (/ 1 3)) #s(literal 1/3 binary64)) (patch #s(approx (+ x (/ 1 3)) #s(literal 1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* 1/3 (/ 1 x)))) (taylor inf x) (#s(alt #s(approx (+ x (/ 1 3)) #s(literal 1/3 binary64)) (patch #s(approx (+ x (/ 1 3)) #s(literal 1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt x (taylor inf x) (#s(alt (-.f64 x #s(literal -1/3 binary64)) (patch (-.f64 x #s(literal -1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* 1/3 (/ 1 x)))) (taylor inf x) (#s(alt (-.f64 x #s(literal -1/3 binary64)) (patch (-.f64 x #s(literal -1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* 1/3 (/ 1 x)))) (taylor inf x) (#s(alt (-.f64 x #s(literal -1/3 binary64)) (patch (-.f64 x #s(literal -1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* 1/3 (/ 1 x)))) (taylor inf x) (#s(alt (-.f64 x #s(literal -1/3 binary64)) (patch (-.f64 x #s(literal -1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt x (taylor inf x) (#s(alt (/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 x x #s(literal 1/9 binary64)) (*.f64 (fma.f64 x x #s(literal 1/9 binary64)) (-.f64 x #s(literal -1/3 binary64))))) (patch (/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 x x #s(literal 1/9 binary64)) (*.f64 (fma.f64 x x #s(literal 1/9 binary64)) (-.f64 x #s(literal -1/3 binary64))))) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* 1/3 (/ 1 x)))) (taylor inf x) (#s(alt (/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 x x #s(literal 1/9 binary64)) (*.f64 (fma.f64 x x #s(literal 1/9 binary64)) (-.f64 x #s(literal -1/3 binary64))))) (patch (/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 x x #s(literal 1/9 binary64)) (*.f64 (fma.f64 x x #s(literal 1/9 binary64)) (-.f64 x #s(literal -1/3 binary64))))) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* 1/3 (/ 1 x)))) (taylor inf x) (#s(alt (/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 x x #s(literal 1/9 binary64)) (*.f64 (fma.f64 x x #s(literal 1/9 binary64)) (-.f64 x #s(literal -1/3 binary64))))) (patch (/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 x x #s(literal 1/9 binary64)) (*.f64 (fma.f64 x x #s(literal 1/9 binary64)) (-.f64 x #s(literal -1/3 binary64))))) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* 1/3 (/ 1 x)))) (taylor inf x) (#s(alt (/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 x x #s(literal 1/9 binary64)) (*.f64 (fma.f64 x x #s(literal 1/9 binary64)) (-.f64 x #s(literal -1/3 binary64))))) (patch (/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 x x #s(literal 1/9 binary64)) (*.f64 (fma.f64 x x #s(literal 1/9 binary64)) (-.f64 x #s(literal -1/3 binary64))))) #<representation binary64>) () ())) ())
#s(alt (/ 1 x) (taylor inf x) (#s(alt (/.f64 (fma.f64 x x #s(literal 1/9 binary64)) (*.f64 (fma.f64 x x #s(literal 1/9 binary64)) (-.f64 x #s(literal -1/3 binary64)))) (patch (/.f64 (fma.f64 x x #s(literal 1/9 binary64)) (*.f64 (fma.f64 x x #s(literal 1/9 binary64)) (-.f64 x #s(literal -1/3 binary64)))) #<representation binary64>) () ())) ())
#s(alt (/ (- 1 (* 1/3 (/ 1 x))) x) (taylor inf x) (#s(alt (/.f64 (fma.f64 x x #s(literal 1/9 binary64)) (*.f64 (fma.f64 x x #s(literal 1/9 binary64)) (-.f64 x #s(literal -1/3 binary64)))) (patch (/.f64 (fma.f64 x x #s(literal 1/9 binary64)) (*.f64 (fma.f64 x x #s(literal 1/9 binary64)) (-.f64 x #s(literal -1/3 binary64)))) #<representation binary64>) () ())) ())
#s(alt (/ (- (+ 1 (/ 1/9 (pow x 2))) (* 1/3 (/ 1 x))) x) (taylor inf x) (#s(alt (/.f64 (fma.f64 x x #s(literal 1/9 binary64)) (*.f64 (fma.f64 x x #s(literal 1/9 binary64)) (-.f64 x #s(literal -1/3 binary64)))) (patch (/.f64 (fma.f64 x x #s(literal 1/9 binary64)) (*.f64 (fma.f64 x x #s(literal 1/9 binary64)) (-.f64 x #s(literal -1/3 binary64)))) #<representation binary64>) () ())) ())
#s(alt (/ (- (+ 1 (/ 1/9 (pow x 2))) (+ (* 1/3 (/ 1 x)) (* 1/27 (/ 1 (pow x 3))))) x) (taylor inf x) (#s(alt (/.f64 (fma.f64 x x #s(literal 1/9 binary64)) (*.f64 (fma.f64 x x #s(literal 1/9 binary64)) (-.f64 x #s(literal -1/3 binary64)))) (patch (/.f64 (fma.f64 x x #s(literal 1/9 binary64)) (*.f64 (fma.f64 x x #s(literal 1/9 binary64)) (-.f64 x #s(literal -1/3 binary64)))) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt (fma.f64 x x #s(literal 1/9 binary64)) (patch (fma.f64 x x #s(literal 1/9 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (* 1/9 (/ 1 (pow x 2))))) (taylor inf x) (#s(alt (fma.f64 x x #s(literal 1/9 binary64)) (patch (fma.f64 x x #s(literal 1/9 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (* 1/9 (/ 1 (pow x 2))))) (taylor inf x) (#s(alt (fma.f64 x x #s(literal 1/9 binary64)) (patch (fma.f64 x x #s(literal 1/9 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (* 1/9 (/ 1 (pow x 2))))) (taylor inf x) (#s(alt (fma.f64 x x #s(literal 1/9 binary64)) (patch (fma.f64 x x #s(literal 1/9 binary64)) #<representation binary64>) () ())) ())
#s(alt (pow x 3) (taylor inf x) (#s(alt (*.f64 (fma.f64 x x #s(literal 1/9 binary64)) (-.f64 x #s(literal -1/3 binary64))) (patch (*.f64 (fma.f64 x x #s(literal 1/9 binary64)) (-.f64 x #s(literal -1/3 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 3) (+ 1 (* 1/3 (/ 1 x)))) (taylor inf x) (#s(alt (*.f64 (fma.f64 x x #s(literal 1/9 binary64)) (-.f64 x #s(literal -1/3 binary64))) (patch (*.f64 (fma.f64 x x #s(literal 1/9 binary64)) (-.f64 x #s(literal -1/3 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 3) (+ 1 (+ (/ 1/9 (pow x 2)) (* 1/3 (/ 1 x))))) (taylor inf x) (#s(alt (*.f64 (fma.f64 x x #s(literal 1/9 binary64)) (-.f64 x #s(literal -1/3 binary64))) (patch (*.f64 (fma.f64 x x #s(literal 1/9 binary64)) (-.f64 x #s(literal -1/3 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 3) (+ 1 (+ (/ 1/9 (pow x 2)) (+ (* 1/3 (/ 1 x)) (* 1/27 (/ 1 (pow x 3))))))) (taylor inf x) (#s(alt (*.f64 (fma.f64 x x #s(literal 1/9 binary64)) (-.f64 x #s(literal -1/3 binary64))) (patch (*.f64 (fma.f64 x x #s(literal 1/9 binary64)) (-.f64 x #s(literal -1/3 binary64))) #<representation binary64>) () ())) ())
#s(alt x (taylor inf x) (#s(alt (fma.f64 x (/.f64 x (-.f64 x #s(literal 1/3 binary64))) (/.f64 #s(literal -1/9 binary64) (-.f64 x #s(literal 1/3 binary64)))) (patch (fma.f64 x (/.f64 x (-.f64 x #s(literal 1/3 binary64))) (/.f64 #s(literal -1/9 binary64) (-.f64 x #s(literal 1/3 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* 1/3 (/ 1 x)))) (taylor inf x) (#s(alt (fma.f64 x (/.f64 x (-.f64 x #s(literal 1/3 binary64))) (/.f64 #s(literal -1/9 binary64) (-.f64 x #s(literal 1/3 binary64)))) (patch (fma.f64 x (/.f64 x (-.f64 x #s(literal 1/3 binary64))) (/.f64 #s(literal -1/9 binary64) (-.f64 x #s(literal 1/3 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* 1/3 (/ 1 x)))) (taylor inf x) (#s(alt (fma.f64 x (/.f64 x (-.f64 x #s(literal 1/3 binary64))) (/.f64 #s(literal -1/9 binary64) (-.f64 x #s(literal 1/3 binary64)))) (patch (fma.f64 x (/.f64 x (-.f64 x #s(literal 1/3 binary64))) (/.f64 #s(literal -1/9 binary64) (-.f64 x #s(literal 1/3 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* 1/3 (/ 1 x)))) (taylor inf x) (#s(alt (fma.f64 x (/.f64 x (-.f64 x #s(literal 1/3 binary64))) (/.f64 #s(literal -1/9 binary64) (-.f64 x #s(literal 1/3 binary64)))) (patch (fma.f64 x (/.f64 x (-.f64 x #s(literal 1/3 binary64))) (/.f64 #s(literal -1/9 binary64) (-.f64 x #s(literal 1/3 binary64)))) #<representation binary64>) () ())) ())
#s(alt 1 (taylor inf x) (#s(alt (/.f64 x (-.f64 x #s(literal 1/3 binary64))) (patch (/.f64 x (-.f64 x #s(literal 1/3 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ 1 (* 1/3 (/ 1 x))) (taylor inf x) (#s(alt (/.f64 x (-.f64 x #s(literal 1/3 binary64))) (patch (/.f64 x (-.f64 x #s(literal 1/3 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ 1 (+ (/ 1/9 (pow x 2)) (* 1/3 (/ 1 x)))) (taylor inf x) (#s(alt (/.f64 x (-.f64 x #s(literal 1/3 binary64))) (patch (/.f64 x (-.f64 x #s(literal 1/3 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ 1 (+ (/ 1/9 (pow x 2)) (+ (* 1/3 (/ 1 x)) (* 1/27 (/ 1 (pow x 3)))))) (taylor inf x) (#s(alt (/.f64 x (-.f64 x #s(literal 1/3 binary64))) (patch (/.f64 x (-.f64 x #s(literal 1/3 binary64))) #<representation binary64>) () ())) ())
#s(alt x (taylor inf x) (#s(alt (-.f64 x #s(literal 1/3 binary64)) (patch (-.f64 x #s(literal 1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (- 1 (* 1/3 (/ 1 x)))) (taylor inf x) (#s(alt (-.f64 x #s(literal 1/3 binary64)) (patch (-.f64 x #s(literal 1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (- 1 (* 1/3 (/ 1 x)))) (taylor inf x) (#s(alt (-.f64 x #s(literal 1/3 binary64)) (patch (-.f64 x #s(literal 1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (- 1 (* 1/3 (/ 1 x)))) (taylor inf x) (#s(alt (-.f64 x #s(literal 1/3 binary64)) (patch (-.f64 x #s(literal 1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt (/ -1/9 x) (taylor inf x) (#s(alt (/.f64 #s(literal -1/9 binary64) (-.f64 x #s(literal 1/3 binary64))) (patch (/.f64 #s(literal -1/9 binary64) (-.f64 x #s(literal 1/3 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (/ (+ 1/9 (* 1/27 (/ 1 x))) x)) (taylor inf x) (#s(alt (/.f64 #s(literal -1/9 binary64) (-.f64 x #s(literal 1/3 binary64))) (patch (/.f64 #s(literal -1/9 binary64) (-.f64 x #s(literal 1/3 binary64))) #<representation binary64>) () ())) ())
#s(alt (/ (- (* -1 (/ (+ 1/27 (* 1/81 (/ 1 x))) x)) 1/9) x) (taylor inf x) (#s(alt (/.f64 #s(literal -1/9 binary64) (-.f64 x #s(literal 1/3 binary64))) (patch (/.f64 #s(literal -1/9 binary64) (-.f64 x #s(literal 1/3 binary64))) #<representation binary64>) () ())) ())
#s(alt (/ (- (* -1 (/ (+ 1/81 (* 1/243 (/ 1 x))) (pow x 2))) (+ 1/9 (* 1/27 (/ 1 x)))) x) (taylor inf x) (#s(alt (/.f64 #s(literal -1/9 binary64) (-.f64 x #s(literal 1/3 binary64))) (patch (/.f64 #s(literal -1/9 binary64) (-.f64 x #s(literal 1/3 binary64))) #<representation binary64>) () ())) ())
#s(alt x (taylor -inf x) (#s(alt #s(approx (+ x (/ 1 3)) #s(literal 1/3 binary64)) (patch #s(approx (+ x (/ 1 3)) #s(literal 1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* 1/3 (/ 1 x)))) (taylor -inf x) (#s(alt #s(approx (+ x (/ 1 3)) #s(literal 1/3 binary64)) (patch #s(approx (+ x (/ 1 3)) #s(literal 1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* 1/3 (/ 1 x)))) (taylor -inf x) (#s(alt #s(approx (+ x (/ 1 3)) #s(literal 1/3 binary64)) (patch #s(approx (+ x (/ 1 3)) #s(literal 1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* 1/3 (/ 1 x)))) (taylor -inf x) (#s(alt #s(approx (+ x (/ 1 3)) #s(literal 1/3 binary64)) (patch #s(approx (+ x (/ 1 3)) #s(literal 1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt x (taylor -inf x) (#s(alt (-.f64 x #s(literal -1/3 binary64)) (patch (-.f64 x #s(literal -1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* 1/3 (/ 1 x)))) (taylor -inf x) (#s(alt (-.f64 x #s(literal -1/3 binary64)) (patch (-.f64 x #s(literal -1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* 1/3 (/ 1 x)))) (taylor -inf x) (#s(alt (-.f64 x #s(literal -1/3 binary64)) (patch (-.f64 x #s(literal -1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* 1/3 (/ 1 x)))) (taylor -inf x) (#s(alt (-.f64 x #s(literal -1/3 binary64)) (patch (-.f64 x #s(literal -1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt x (taylor -inf x) (#s(alt (/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 x x #s(literal 1/9 binary64)) (*.f64 (fma.f64 x x #s(literal 1/9 binary64)) (-.f64 x #s(literal -1/3 binary64))))) (patch (/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 x x #s(literal 1/9 binary64)) (*.f64 (fma.f64 x x #s(literal 1/9 binary64)) (-.f64 x #s(literal -1/3 binary64))))) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* 1/3 (/ 1 x)))) (taylor -inf x) (#s(alt (/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 x x #s(literal 1/9 binary64)) (*.f64 (fma.f64 x x #s(literal 1/9 binary64)) (-.f64 x #s(literal -1/3 binary64))))) (patch (/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 x x #s(literal 1/9 binary64)) (*.f64 (fma.f64 x x #s(literal 1/9 binary64)) (-.f64 x #s(literal -1/3 binary64))))) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* 1/3 (/ 1 x)))) (taylor -inf x) (#s(alt (/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 x x #s(literal 1/9 binary64)) (*.f64 (fma.f64 x x #s(literal 1/9 binary64)) (-.f64 x #s(literal -1/3 binary64))))) (patch (/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 x x #s(literal 1/9 binary64)) (*.f64 (fma.f64 x x #s(literal 1/9 binary64)) (-.f64 x #s(literal -1/3 binary64))))) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* 1/3 (/ 1 x)))) (taylor -inf x) (#s(alt (/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 x x #s(literal 1/9 binary64)) (*.f64 (fma.f64 x x #s(literal 1/9 binary64)) (-.f64 x #s(literal -1/3 binary64))))) (patch (/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 x x #s(literal 1/9 binary64)) (*.f64 (fma.f64 x x #s(literal 1/9 binary64)) (-.f64 x #s(literal -1/3 binary64))))) #<representation binary64>) () ())) ())
#s(alt (/ 1 x) (taylor -inf x) (#s(alt (/.f64 (fma.f64 x x #s(literal 1/9 binary64)) (*.f64 (fma.f64 x x #s(literal 1/9 binary64)) (-.f64 x #s(literal -1/3 binary64)))) (patch (/.f64 (fma.f64 x x #s(literal 1/9 binary64)) (*.f64 (fma.f64 x x #s(literal 1/9 binary64)) (-.f64 x #s(literal -1/3 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* -1 (/ (- (* 1/3 (/ 1 x)) 1) x)) (taylor -inf x) (#s(alt (/.f64 (fma.f64 x x #s(literal 1/9 binary64)) (*.f64 (fma.f64 x x #s(literal 1/9 binary64)) (-.f64 x #s(literal -1/3 binary64)))) (patch (/.f64 (fma.f64 x x #s(literal 1/9 binary64)) (*.f64 (fma.f64 x x #s(literal 1/9 binary64)) (-.f64 x #s(literal -1/3 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* -1 (/ (- (* -1 (/ (- (* 1/9 (/ 1 x)) 1/3) x)) 1) x)) (taylor -inf x) (#s(alt (/.f64 (fma.f64 x x #s(literal 1/9 binary64)) (*.f64 (fma.f64 x x #s(literal 1/9 binary64)) (-.f64 x #s(literal -1/3 binary64)))) (patch (/.f64 (fma.f64 x x #s(literal 1/9 binary64)) (*.f64 (fma.f64 x x #s(literal 1/9 binary64)) (-.f64 x #s(literal -1/3 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* -1 (/ (- (* -1 (/ (- (* -1 (/ (- (* 1/27 (/ 1 x)) 1/9) x)) 1/3) x)) 1) x)) (taylor -inf x) (#s(alt (/.f64 (fma.f64 x x #s(literal 1/9 binary64)) (*.f64 (fma.f64 x x #s(literal 1/9 binary64)) (-.f64 x #s(literal -1/3 binary64)))) (patch (/.f64 (fma.f64 x x #s(literal 1/9 binary64)) (*.f64 (fma.f64 x x #s(literal 1/9 binary64)) (-.f64 x #s(literal -1/3 binary64)))) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor -inf x) (#s(alt (fma.f64 x x #s(literal 1/9 binary64)) (patch (fma.f64 x x #s(literal 1/9 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (* 1/9 (/ 1 (pow x 2))))) (taylor -inf x) (#s(alt (fma.f64 x x #s(literal 1/9 binary64)) (patch (fma.f64 x x #s(literal 1/9 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (* 1/9 (/ 1 (pow x 2))))) (taylor -inf x) (#s(alt (fma.f64 x x #s(literal 1/9 binary64)) (patch (fma.f64 x x #s(literal 1/9 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (* 1/9 (/ 1 (pow x 2))))) (taylor -inf x) (#s(alt (fma.f64 x x #s(literal 1/9 binary64)) (patch (fma.f64 x x #s(literal 1/9 binary64)) #<representation binary64>) () ())) ())
#s(alt (pow x 3) (taylor -inf x) (#s(alt (*.f64 (fma.f64 x x #s(literal 1/9 binary64)) (-.f64 x #s(literal -1/3 binary64))) (patch (*.f64 (fma.f64 x x #s(literal 1/9 binary64)) (-.f64 x #s(literal -1/3 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 3) (+ 1 (* 1/3 (/ 1 x)))) (taylor -inf x) (#s(alt (*.f64 (fma.f64 x x #s(literal 1/9 binary64)) (-.f64 x #s(literal -1/3 binary64))) (patch (*.f64 (fma.f64 x x #s(literal 1/9 binary64)) (-.f64 x #s(literal -1/3 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow x 3) (- (* -1 (/ (+ 1/3 (* 1/9 (/ 1 x))) x)) 1))) (taylor -inf x) (#s(alt (*.f64 (fma.f64 x x #s(literal 1/9 binary64)) (-.f64 x #s(literal -1/3 binary64))) (patch (*.f64 (fma.f64 x x #s(literal 1/9 binary64)) (-.f64 x #s(literal -1/3 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow x 3) (- (* -1 (/ (+ 1/3 (+ (/ 1/27 (pow x 2)) (* 1/9 (/ 1 x)))) x)) 1))) (taylor -inf x) (#s(alt (*.f64 (fma.f64 x x #s(literal 1/9 binary64)) (-.f64 x #s(literal -1/3 binary64))) (patch (*.f64 (fma.f64 x x #s(literal 1/9 binary64)) (-.f64 x #s(literal -1/3 binary64))) #<representation binary64>) () ())) ())
#s(alt x (taylor -inf x) (#s(alt (fma.f64 x (/.f64 x (-.f64 x #s(literal 1/3 binary64))) (/.f64 #s(literal -1/9 binary64) (-.f64 x #s(literal 1/3 binary64)))) (patch (fma.f64 x (/.f64 x (-.f64 x #s(literal 1/3 binary64))) (/.f64 #s(literal -1/9 binary64) (-.f64 x #s(literal 1/3 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* 1/3 (/ 1 x)))) (taylor -inf x) (#s(alt (fma.f64 x (/.f64 x (-.f64 x #s(literal 1/3 binary64))) (/.f64 #s(literal -1/9 binary64) (-.f64 x #s(literal 1/3 binary64)))) (patch (fma.f64 x (/.f64 x (-.f64 x #s(literal 1/3 binary64))) (/.f64 #s(literal -1/9 binary64) (-.f64 x #s(literal 1/3 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* 1/3 (/ 1 x)))) (taylor -inf x) (#s(alt (fma.f64 x (/.f64 x (-.f64 x #s(literal 1/3 binary64))) (/.f64 #s(literal -1/9 binary64) (-.f64 x #s(literal 1/3 binary64)))) (patch (fma.f64 x (/.f64 x (-.f64 x #s(literal 1/3 binary64))) (/.f64 #s(literal -1/9 binary64) (-.f64 x #s(literal 1/3 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* 1/3 (/ 1 x)))) (taylor -inf x) (#s(alt (fma.f64 x (/.f64 x (-.f64 x #s(literal 1/3 binary64))) (/.f64 #s(literal -1/9 binary64) (-.f64 x #s(literal 1/3 binary64)))) (patch (fma.f64 x (/.f64 x (-.f64 x #s(literal 1/3 binary64))) (/.f64 #s(literal -1/9 binary64) (-.f64 x #s(literal 1/3 binary64)))) #<representation binary64>) () ())) ())
#s(alt 1 (taylor -inf x) (#s(alt (/.f64 x (-.f64 x #s(literal 1/3 binary64))) (patch (/.f64 x (-.f64 x #s(literal 1/3 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ 1 (* 1/3 (/ 1 x))) (taylor -inf x) (#s(alt (/.f64 x (-.f64 x #s(literal 1/3 binary64))) (patch (/.f64 x (-.f64 x #s(literal 1/3 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ 1 (+ (/ 1/9 (pow x 2)) (* 1/3 (/ 1 x)))) (taylor -inf x) (#s(alt (/.f64 x (-.f64 x #s(literal 1/3 binary64))) (patch (/.f64 x (-.f64 x #s(literal 1/3 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ 1 (* -1 (/ (- (* -1 (/ (+ 1/9 (* 1/27 (/ 1 x))) x)) 1/3) x))) (taylor -inf x) (#s(alt (/.f64 x (-.f64 x #s(literal 1/3 binary64))) (patch (/.f64 x (-.f64 x #s(literal 1/3 binary64))) #<representation binary64>) () ())) ())
#s(alt x (taylor -inf x) (#s(alt (-.f64 x #s(literal 1/3 binary64)) (patch (-.f64 x #s(literal 1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (- (* 1/3 (/ 1 x)) 1))) (taylor -inf x) (#s(alt (-.f64 x #s(literal 1/3 binary64)) (patch (-.f64 x #s(literal 1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (- (* 1/3 (/ 1 x)) 1))) (taylor -inf x) (#s(alt (-.f64 x #s(literal 1/3 binary64)) (patch (-.f64 x #s(literal 1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (- (* 1/3 (/ 1 x)) 1))) (taylor -inf x) (#s(alt (-.f64 x #s(literal 1/3 binary64)) (patch (-.f64 x #s(literal 1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt (/ -1/9 x) (taylor -inf x) (#s(alt (/.f64 #s(literal -1/9 binary64) (-.f64 x #s(literal 1/3 binary64))) (patch (/.f64 #s(literal -1/9 binary64) (-.f64 x #s(literal 1/3 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (/ (+ 1/9 (* 1/27 (/ 1 x))) x)) (taylor -inf x) (#s(alt (/.f64 #s(literal -1/9 binary64) (-.f64 x #s(literal 1/3 binary64))) (patch (/.f64 #s(literal -1/9 binary64) (-.f64 x #s(literal 1/3 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (/ (+ 1/9 (+ (/ 1/81 (pow x 2)) (* 1/27 (/ 1 x)))) x)) (taylor -inf x) (#s(alt (/.f64 #s(literal -1/9 binary64) (-.f64 x #s(literal 1/3 binary64))) (patch (/.f64 #s(literal -1/9 binary64) (-.f64 x #s(literal 1/3 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (/ (+ 1/9 (* -1 (/ (- (* -1 (/ (+ 1/81 (* 1/243 (/ 1 x))) x)) 1/27) x))) x)) (taylor -inf x) (#s(alt (/.f64 #s(literal -1/9 binary64) (-.f64 x #s(literal 1/3 binary64))) (patch (/.f64 #s(literal -1/9 binary64) (-.f64 x #s(literal 1/3 binary64))) #<representation binary64>) () ())) ())
Calls

3 calls:

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

simplify324.0ms (9.5%)

Memory
-9.3MiB live, 321.8MiB allocated
Algorithm
egg-herbie
Rules
11 662×lower-fma.f64
11 662×lower-fma.f32
3 512×lower-*.f64
3 512×lower-*.f32
2 960×lower-+.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0165628
1471616
21177594
33681578
08370541
Stop Event
iter limit
node limit
Counts
120 → 110
Calls
Call 1
Inputs
1/3
(+ 1/3 x)
(+ 1/3 x)
(+ 1/3 x)
1/3
(+ 1/3 x)
(+ 1/3 x)
(+ 1/3 x)
1/3
(+ 1/3 x)
(+ 1/3 x)
(+ 1/3 x)
3
(+ 3 (* -9 x))
(+ 3 (* x (- (* 27 x) 9)))
(+ 3 (* x (- (* x (+ 27 (* -81 x))) 9)))
1/9
(+ 1/9 (pow x 2))
(+ 1/9 (pow x 2))
(+ 1/9 (pow x 2))
1/27
(+ 1/27 (* 1/9 x))
(+ 1/27 (* x (+ 1/9 (* 1/3 x))))
(+ 1/27 (* x (+ 1/9 (* x (+ 1/3 x)))))
1/3
(+ 1/3 x)
(+ 1/3 x)
(+ 1/3 x)
(* -3 x)
(* x (- (* -9 x) 3))
(* x (- (* x (- (* -27 x) 9)) 3))
(* x (- (* x (- (* x (- (* -81 x) 27)) 9)) 3))
-1/3
(- x 1/3)
(- x 1/3)
(- x 1/3)
1/3
(+ 1/3 x)
(+ 1/3 (* x (+ 1 (* 3 x))))
(+ 1/3 (* x (+ 1 (* x (+ 3 (* 9 x))))))
x
(* x (+ 1 (* 1/3 (/ 1 x))))
(* x (+ 1 (* 1/3 (/ 1 x))))
(* x (+ 1 (* 1/3 (/ 1 x))))
x
(* x (+ 1 (* 1/3 (/ 1 x))))
(* x (+ 1 (* 1/3 (/ 1 x))))
(* x (+ 1 (* 1/3 (/ 1 x))))
x
(* x (+ 1 (* 1/3 (/ 1 x))))
(* x (+ 1 (* 1/3 (/ 1 x))))
(* x (+ 1 (* 1/3 (/ 1 x))))
(/ 1 x)
(/ (- 1 (* 1/3 (/ 1 x))) x)
(/ (- (+ 1 (/ 1/9 (pow x 2))) (* 1/3 (/ 1 x))) x)
(/ (- (+ 1 (/ 1/9 (pow x 2))) (+ (* 1/3 (/ 1 x)) (* 1/27 (/ 1 (pow x 3))))) x)
(pow x 2)
(* (pow x 2) (+ 1 (* 1/9 (/ 1 (pow x 2)))))
(* (pow x 2) (+ 1 (* 1/9 (/ 1 (pow x 2)))))
(* (pow x 2) (+ 1 (* 1/9 (/ 1 (pow x 2)))))
(pow x 3)
(* (pow x 3) (+ 1 (* 1/3 (/ 1 x))))
(* (pow x 3) (+ 1 (+ (/ 1/9 (pow x 2)) (* 1/3 (/ 1 x)))))
(* (pow x 3) (+ 1 (+ (/ 1/9 (pow x 2)) (+ (* 1/3 (/ 1 x)) (* 1/27 (/ 1 (pow x 3)))))))
x
(* x (+ 1 (* 1/3 (/ 1 x))))
(* x (+ 1 (* 1/3 (/ 1 x))))
(* x (+ 1 (* 1/3 (/ 1 x))))
1
(+ 1 (* 1/3 (/ 1 x)))
(+ 1 (+ (/ 1/9 (pow x 2)) (* 1/3 (/ 1 x))))
(+ 1 (+ (/ 1/9 (pow x 2)) (+ (* 1/3 (/ 1 x)) (* 1/27 (/ 1 (pow x 3))))))
x
(* x (- 1 (* 1/3 (/ 1 x))))
(* x (- 1 (* 1/3 (/ 1 x))))
(* x (- 1 (* 1/3 (/ 1 x))))
(/ -1/9 x)
(* -1 (/ (+ 1/9 (* 1/27 (/ 1 x))) x))
(/ (- (* -1 (/ (+ 1/27 (* 1/81 (/ 1 x))) x)) 1/9) x)
(/ (- (* -1 (/ (+ 1/81 (* 1/243 (/ 1 x))) (pow x 2))) (+ 1/9 (* 1/27 (/ 1 x)))) x)
x
(* x (+ 1 (* 1/3 (/ 1 x))))
(* x (+ 1 (* 1/3 (/ 1 x))))
(* x (+ 1 (* 1/3 (/ 1 x))))
x
(* x (+ 1 (* 1/3 (/ 1 x))))
(* x (+ 1 (* 1/3 (/ 1 x))))
(* x (+ 1 (* 1/3 (/ 1 x))))
x
(* x (+ 1 (* 1/3 (/ 1 x))))
(* x (+ 1 (* 1/3 (/ 1 x))))
(* x (+ 1 (* 1/3 (/ 1 x))))
(/ 1 x)
(* -1 (/ (- (* 1/3 (/ 1 x)) 1) x))
(* -1 (/ (- (* -1 (/ (- (* 1/9 (/ 1 x)) 1/3) x)) 1) x))
(* -1 (/ (- (* -1 (/ (- (* -1 (/ (- (* 1/27 (/ 1 x)) 1/9) x)) 1/3) x)) 1) x))
(pow x 2)
(* (pow x 2) (+ 1 (* 1/9 (/ 1 (pow x 2)))))
(* (pow x 2) (+ 1 (* 1/9 (/ 1 (pow x 2)))))
(* (pow x 2) (+ 1 (* 1/9 (/ 1 (pow x 2)))))
(pow x 3)
(* (pow x 3) (+ 1 (* 1/3 (/ 1 x))))
(* -1 (* (pow x 3) (- (* -1 (/ (+ 1/3 (* 1/9 (/ 1 x))) x)) 1)))
(* -1 (* (pow x 3) (- (* -1 (/ (+ 1/3 (+ (/ 1/27 (pow x 2)) (* 1/9 (/ 1 x)))) x)) 1)))
x
(* x (+ 1 (* 1/3 (/ 1 x))))
(* x (+ 1 (* 1/3 (/ 1 x))))
(* x (+ 1 (* 1/3 (/ 1 x))))
1
(+ 1 (* 1/3 (/ 1 x)))
(+ 1 (+ (/ 1/9 (pow x 2)) (* 1/3 (/ 1 x))))
(+ 1 (* -1 (/ (- (* -1 (/ (+ 1/9 (* 1/27 (/ 1 x))) x)) 1/3) x)))
x
(* -1 (* x (- (* 1/3 (/ 1 x)) 1)))
(* -1 (* x (- (* 1/3 (/ 1 x)) 1)))
(* -1 (* x (- (* 1/3 (/ 1 x)) 1)))
(/ -1/9 x)
(* -1 (/ (+ 1/9 (* 1/27 (/ 1 x))) x))
(* -1 (/ (+ 1/9 (+ (/ 1/81 (pow x 2)) (* 1/27 (/ 1 x)))) x))
(* -1 (/ (+ 1/9 (* -1 (/ (- (* -1 (/ (+ 1/81 (* 1/243 (/ 1 x))) x)) 1/27) x))) x))
Outputs
1/3
#s(literal 1/3 binary64)
(+ 1/3 x)
(+.f64 x #s(literal 1/3 binary64))
(+ 1/3 x)
(+.f64 x #s(literal 1/3 binary64))
(+ 1/3 x)
(+.f64 x #s(literal 1/3 binary64))
1/3
#s(literal 1/3 binary64)
(+ 1/3 x)
(+.f64 x #s(literal 1/3 binary64))
(+ 1/3 x)
(+.f64 x #s(literal 1/3 binary64))
(+ 1/3 x)
(+.f64 x #s(literal 1/3 binary64))
1/3
#s(literal 1/3 binary64)
(+ 1/3 x)
(+.f64 x #s(literal 1/3 binary64))
(+ 1/3 x)
(+.f64 x #s(literal 1/3 binary64))
(+ 1/3 x)
(+.f64 x #s(literal 1/3 binary64))
3
#s(literal 3 binary64)
(+ 3 (* -9 x))
(fma.f64 #s(literal -9 binary64) x #s(literal 3 binary64))
(+ 3 (* x (- (* 27 x) 9)))
(fma.f64 (fma.f64 #s(literal 27 binary64) x #s(literal -9 binary64)) x #s(literal 3 binary64))
(+ 3 (* x (- (* x (+ 27 (* -81 x))) 9)))
(fma.f64 (fma.f64 (fma.f64 #s(literal -81 binary64) x #s(literal 27 binary64)) x #s(literal -9 binary64)) x #s(literal 3 binary64))
1/9
#s(literal 1/9 binary64)
(+ 1/9 (pow x 2))
(fma.f64 x x #s(literal 1/9 binary64))
(+ 1/9 (pow x 2))
(fma.f64 x x #s(literal 1/9 binary64))
(+ 1/9 (pow x 2))
(fma.f64 x x #s(literal 1/9 binary64))
1/27
#s(literal 1/27 binary64)
(+ 1/27 (* 1/9 x))
(fma.f64 #s(literal 1/9 binary64) x #s(literal 1/27 binary64))
(+ 1/27 (* x (+ 1/9 (* 1/3 x))))
(fma.f64 (fma.f64 x #s(literal 1/3 binary64) #s(literal 1/9 binary64)) x #s(literal 1/27 binary64))
(+ 1/27 (* x (+ 1/9 (* x (+ 1/3 x)))))
(fma.f64 (fma.f64 (+.f64 x #s(literal 1/3 binary64)) x #s(literal 1/9 binary64)) x #s(literal 1/27 binary64))
1/3
#s(literal 1/3 binary64)
(+ 1/3 x)
(+.f64 x #s(literal 1/3 binary64))
(+ 1/3 x)
(+.f64 x #s(literal 1/3 binary64))
(+ 1/3 x)
(+.f64 x #s(literal 1/3 binary64))
(* -3 x)
(*.f64 #s(literal -3 binary64) x)
(* x (- (* -9 x) 3))
(*.f64 (fma.f64 #s(literal -9 binary64) x #s(literal -3 binary64)) x)
(* x (- (* x (- (* -27 x) 9)) 3))
(*.f64 (fma.f64 (fma.f64 #s(literal -27 binary64) x #s(literal -9 binary64)) x #s(literal -3 binary64)) x)
(* x (- (* x (- (* x (- (* -81 x) 27)) 9)) 3))
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -81 binary64) x #s(literal -27 binary64)) x #s(literal -9 binary64)) x #s(literal -3 binary64)) x)
-1/3
#s(literal -1/3 binary64)
(- x 1/3)
(-.f64 x #s(literal 1/3 binary64))
(- x 1/3)
(-.f64 x #s(literal 1/3 binary64))
(- x 1/3)
(-.f64 x #s(literal 1/3 binary64))
1/3
#s(literal 1/3 binary64)
(+ 1/3 x)
(+.f64 x #s(literal 1/3 binary64))
(+ 1/3 (* x (+ 1 (* 3 x))))
(fma.f64 (fma.f64 #s(literal 3 binary64) x #s(literal 1 binary64)) x #s(literal 1/3 binary64))
(+ 1/3 (* x (+ 1 (* x (+ 3 (* 9 x))))))
(fma.f64 (fma.f64 (fma.f64 #s(literal 9 binary64) x #s(literal 3 binary64)) x #s(literal 1 binary64)) x #s(literal 1/3 binary64))
x
(* x (+ 1 (* 1/3 (/ 1 x))))
(+.f64 x #s(literal 1/3 binary64))
(* x (+ 1 (* 1/3 (/ 1 x))))
(+.f64 x #s(literal 1/3 binary64))
(* x (+ 1 (* 1/3 (/ 1 x))))
(+.f64 x #s(literal 1/3 binary64))
x
(* x (+ 1 (* 1/3 (/ 1 x))))
(+.f64 x #s(literal 1/3 binary64))
(* x (+ 1 (* 1/3 (/ 1 x))))
(+.f64 x #s(literal 1/3 binary64))
(* x (+ 1 (* 1/3 (/ 1 x))))
(+.f64 x #s(literal 1/3 binary64))
x
(* x (+ 1 (* 1/3 (/ 1 x))))
(+.f64 x #s(literal 1/3 binary64))
(* x (+ 1 (* 1/3 (/ 1 x))))
(+.f64 x #s(literal 1/3 binary64))
(* x (+ 1 (* 1/3 (/ 1 x))))
(+.f64 x #s(literal 1/3 binary64))
(/ 1 x)
(/.f64 #s(literal 1 binary64) x)
(/ (- 1 (* 1/3 (/ 1 x))) x)
(/.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1/3 binary64) x)) x)
(/ (- (+ 1 (/ 1/9 (pow x 2))) (* 1/3 (/ 1 x))) x)
(/.f64 (-.f64 (/.f64 (-.f64 (/.f64 #s(literal 1/9 binary64) x) #s(literal 1/3 binary64)) x) #s(literal -1 binary64)) x)
(/ (- (+ 1 (/ 1/9 (pow x 2))) (+ (* 1/3 (/ 1 x)) (* 1/27 (/ 1 (pow x 3))))) x)
(/.f64 (-.f64 (/.f64 (-.f64 #s(literal -1/3 binary64) (/.f64 (-.f64 (/.f64 #s(literal 1/27 binary64) x) #s(literal 1/9 binary64)) x)) x) #s(literal -1 binary64)) x)
(pow x 2)
(*.f64 x x)
(* (pow x 2) (+ 1 (* 1/9 (/ 1 (pow x 2)))))
(fma.f64 x x #s(literal 1/9 binary64))
(* (pow x 2) (+ 1 (* 1/9 (/ 1 (pow x 2)))))
(fma.f64 x x #s(literal 1/9 binary64))
(* (pow x 2) (+ 1 (* 1/9 (/ 1 (pow x 2)))))
(fma.f64 x x #s(literal 1/9 binary64))
(pow x 3)
(pow.f64 x #s(literal 3 binary64))
(* (pow x 3) (+ 1 (* 1/3 (/ 1 x))))
(*.f64 (*.f64 (+.f64 x #s(literal 1/3 binary64)) x) x)
(* (pow x 3) (+ 1 (+ (/ 1/9 (pow x 2)) (* 1/3 (/ 1 x)))))
(*.f64 (fma.f64 (+.f64 x #s(literal 1/3 binary64)) x #s(literal 1/9 binary64)) x)
(* (pow x 3) (+ 1 (+ (/ 1/9 (pow x 2)) (+ (* 1/3 (/ 1 x)) (* 1/27 (/ 1 (pow x 3)))))))
(fma.f64 (fma.f64 (+.f64 x #s(literal 1/3 binary64)) x #s(literal 1/9 binary64)) x #s(literal 1/27 binary64))
x
(* x (+ 1 (* 1/3 (/ 1 x))))
(+.f64 x #s(literal 1/3 binary64))
(* x (+ 1 (* 1/3 (/ 1 x))))
(+.f64 x #s(literal 1/3 binary64))
(* x (+ 1 (* 1/3 (/ 1 x))))
(+.f64 x #s(literal 1/3 binary64))
1
#s(literal 1 binary64)
(+ 1 (* 1/3 (/ 1 x)))
(+.f64 (/.f64 #s(literal 1/3 binary64) x) #s(literal 1 binary64))
(+ 1 (+ (/ 1/9 (pow x 2)) (* 1/3 (/ 1 x))))
(-.f64 (/.f64 (+.f64 (/.f64 #s(literal 1/9 binary64) x) #s(literal 1/3 binary64)) x) #s(literal -1 binary64))
(+ 1 (+ (/ 1/9 (pow x 2)) (+ (* 1/3 (/ 1 x)) (* 1/27 (/ 1 (pow x 3))))))
(-.f64 (/.f64 (-.f64 (/.f64 (+.f64 (/.f64 #s(literal 1/27 binary64) x) #s(literal 1/9 binary64)) x) #s(literal -1/3 binary64)) x) #s(literal -1 binary64))
x
(* x (- 1 (* 1/3 (/ 1 x))))
(-.f64 x #s(literal 1/3 binary64))
(* x (- 1 (* 1/3 (/ 1 x))))
(-.f64 x #s(literal 1/3 binary64))
(* x (- 1 (* 1/3 (/ 1 x))))
(-.f64 x #s(literal 1/3 binary64))
(/ -1/9 x)
(/.f64 #s(literal -1/9 binary64) x)
(* -1 (/ (+ 1/9 (* 1/27 (/ 1 x))) x))
(/.f64 (-.f64 #s(literal -1/9 binary64) (/.f64 #s(literal 1/27 binary64) x)) x)
(/ (- (* -1 (/ (+ 1/27 (* 1/81 (/ 1 x))) x)) 1/9) x)
(/.f64 (-.f64 #s(literal -1/9 binary64) (/.f64 (+.f64 (/.f64 #s(literal 1/81 binary64) x) #s(literal 1/27 binary64)) x)) x)
(/ (- (* -1 (/ (+ 1/81 (* 1/243 (/ 1 x))) (pow x 2))) (+ 1/9 (* 1/27 (/ 1 x)))) x)
(/.f64 (-.f64 (/.f64 (-.f64 #s(literal -1/27 binary64) (/.f64 (+.f64 (/.f64 #s(literal 1/243 binary64) x) #s(literal 1/81 binary64)) x)) x) #s(literal 1/9 binary64)) x)
x
(* x (+ 1 (* 1/3 (/ 1 x))))
(+.f64 x #s(literal 1/3 binary64))
(* x (+ 1 (* 1/3 (/ 1 x))))
(+.f64 x #s(literal 1/3 binary64))
(* x (+ 1 (* 1/3 (/ 1 x))))
(+.f64 x #s(literal 1/3 binary64))
x
(* x (+ 1 (* 1/3 (/ 1 x))))
(+.f64 x #s(literal 1/3 binary64))
(* x (+ 1 (* 1/3 (/ 1 x))))
(+.f64 x #s(literal 1/3 binary64))
(* x (+ 1 (* 1/3 (/ 1 x))))
(+.f64 x #s(literal 1/3 binary64))
x
(* x (+ 1 (* 1/3 (/ 1 x))))
(+.f64 x #s(literal 1/3 binary64))
(* x (+ 1 (* 1/3 (/ 1 x))))
(+.f64 x #s(literal 1/3 binary64))
(* x (+ 1 (* 1/3 (/ 1 x))))
(+.f64 x #s(literal 1/3 binary64))
(/ 1 x)
(/.f64 #s(literal 1 binary64) x)
(* -1 (/ (- (* 1/3 (/ 1 x)) 1) x))
(/.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1/3 binary64) x)) x)
(* -1 (/ (- (* -1 (/ (- (* 1/9 (/ 1 x)) 1/3) x)) 1) x))
(/.f64 (-.f64 (/.f64 (-.f64 (/.f64 #s(literal 1/9 binary64) x) #s(literal 1/3 binary64)) x) #s(literal -1 binary64)) x)
(* -1 (/ (- (* -1 (/ (- (* -1 (/ (- (* 1/27 (/ 1 x)) 1/9) x)) 1/3) x)) 1) x))
(/.f64 (-.f64 (/.f64 (-.f64 #s(literal -1/3 binary64) (/.f64 (-.f64 (/.f64 #s(literal 1/27 binary64) x) #s(literal 1/9 binary64)) x)) x) #s(literal -1 binary64)) x)
(pow x 2)
(*.f64 x x)
(* (pow x 2) (+ 1 (* 1/9 (/ 1 (pow x 2)))))
(fma.f64 x x #s(literal 1/9 binary64))
(* (pow x 2) (+ 1 (* 1/9 (/ 1 (pow x 2)))))
(fma.f64 x x #s(literal 1/9 binary64))
(* (pow x 2) (+ 1 (* 1/9 (/ 1 (pow x 2)))))
(fma.f64 x x #s(literal 1/9 binary64))
(pow x 3)
(pow.f64 x #s(literal 3 binary64))
(* (pow x 3) (+ 1 (* 1/3 (/ 1 x))))
(*.f64 (*.f64 (+.f64 x #s(literal 1/3 binary64)) x) x)
(* -1 (* (pow x 3) (- (* -1 (/ (+ 1/3 (* 1/9 (/ 1 x))) x)) 1)))
(*.f64 (fma.f64 (+.f64 x #s(literal 1/3 binary64)) x #s(literal 1/9 binary64)) x)
(* -1 (* (pow x 3) (- (* -1 (/ (+ 1/3 (+ (/ 1/27 (pow x 2)) (* 1/9 (/ 1 x)))) x)) 1)))
(fma.f64 (fma.f64 (+.f64 x #s(literal 1/3 binary64)) x #s(literal 1/9 binary64)) x #s(literal 1/27 binary64))
x
(* x (+ 1 (* 1/3 (/ 1 x))))
(+.f64 x #s(literal 1/3 binary64))
(* x (+ 1 (* 1/3 (/ 1 x))))
(+.f64 x #s(literal 1/3 binary64))
(* x (+ 1 (* 1/3 (/ 1 x))))
(+.f64 x #s(literal 1/3 binary64))
1
#s(literal 1 binary64)
(+ 1 (* 1/3 (/ 1 x)))
(+.f64 (/.f64 #s(literal 1/3 binary64) x) #s(literal 1 binary64))
(+ 1 (+ (/ 1/9 (pow x 2)) (* 1/3 (/ 1 x))))
(-.f64 (/.f64 (+.f64 (/.f64 #s(literal 1/9 binary64) x) #s(literal 1/3 binary64)) x) #s(literal -1 binary64))
(+ 1 (* -1 (/ (- (* -1 (/ (+ 1/9 (* 1/27 (/ 1 x))) x)) 1/3) x)))
(-.f64 (/.f64 (-.f64 (/.f64 (+.f64 (/.f64 #s(literal 1/27 binary64) x) #s(literal 1/9 binary64)) x) #s(literal -1/3 binary64)) x) #s(literal -1 binary64))
x
(* -1 (* x (- (* 1/3 (/ 1 x)) 1)))
(-.f64 x #s(literal 1/3 binary64))
(* -1 (* x (- (* 1/3 (/ 1 x)) 1)))
(-.f64 x #s(literal 1/3 binary64))
(* -1 (* x (- (* 1/3 (/ 1 x)) 1)))
(-.f64 x #s(literal 1/3 binary64))
(/ -1/9 x)
(/.f64 #s(literal -1/9 binary64) x)
(* -1 (/ (+ 1/9 (* 1/27 (/ 1 x))) x))
(/.f64 (-.f64 #s(literal -1/9 binary64) (/.f64 #s(literal 1/27 binary64) x)) x)
(* -1 (/ (+ 1/9 (+ (/ 1/81 (pow x 2)) (* 1/27 (/ 1 x)))) x))
(/.f64 (-.f64 #s(literal -1/9 binary64) (/.f64 (+.f64 (/.f64 #s(literal 1/81 binary64) x) #s(literal 1/27 binary64)) x)) x)
(* -1 (/ (+ 1/9 (* -1 (/ (- (* -1 (/ (+ 1/81 (* 1/243 (/ 1 x))) x)) 1/27) x))) x))
(/.f64 (-.f64 (/.f64 (-.f64 #s(literal -1/27 binary64) (/.f64 (+.f64 (/.f64 #s(literal 1/243 binary64) x) #s(literal 1/81 binary64)) x)) x) #s(literal 1/9 binary64)) x)

rewrite137.0ms (4%)

Memory
20.9MiB live, 252.3MiB allocated
Rules
4 492×lower-fma.f32
4 488×lower-fma.f64
4 160×lower-/.f32
4 152×lower-/.f64
3 558×lower-*.f32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01973
03052
112444
296644
0856044
Stop Event
iter limit
node limit
iter limit
Counts
10 → 1 074
Calls
Call 1
Inputs
#s(approx (+ x (/ 1 3)) #s(literal 1/3 binary64))
(-.f64 x #s(literal -1/3 binary64))
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 x x #s(literal 1/9 binary64)) (*.f64 (fma.f64 x x #s(literal 1/9 binary64)) (-.f64 x #s(literal -1/3 binary64)))))
(/.f64 (fma.f64 x x #s(literal 1/9 binary64)) (*.f64 (fma.f64 x x #s(literal 1/9 binary64)) (-.f64 x #s(literal -1/3 binary64))))
(fma.f64 x x #s(literal 1/9 binary64))
(*.f64 (fma.f64 x x #s(literal 1/9 binary64)) (-.f64 x #s(literal -1/3 binary64)))
(fma.f64 x (/.f64 x (-.f64 x #s(literal 1/3 binary64))) (/.f64 #s(literal -1/9 binary64) (-.f64 x #s(literal 1/3 binary64))))
(/.f64 x (-.f64 x #s(literal 1/3 binary64)))
(-.f64 x #s(literal 1/3 binary64))
(/.f64 #s(literal -1/9 binary64) (-.f64 x #s(literal 1/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>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval255.0ms (7.5%)

Memory
26.5MiB live, 326.4MiB allocated
Compiler

Compiled 36 825 to 3 087 computations (91.6% saved)

prune48.0ms (1.4%)

Memory
-7.4MiB live, 84.9MiB allocated
Pruning

4 alts after pruning (2 fresh and 2 done)

PrunedKeptTotal
New1 54321 545
Fresh000
Picked224
Done000
Total1 54541 549
Accuracy
100.0%
Counts
1 549 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
77.9%
(/.f64 #s(literal 1 binary64) (/.f64 (-.f64 x #s(literal 1/3 binary64)) (fma.f64 x x #s(literal -1/9 binary64))))
53.8%
(/.f64 #s(literal 1 binary64) #s(approx (/ (+ (* x x) 1/9) (* (+ (* x x) 1/9) (- x -1/3))) (fma.f64 #s(literal -9 binary64) x #s(literal 3 binary64))))
100.0%
(-.f64 x #s(literal -1/3 binary64))
54.1%
#s(approx (+ x (/ 1 3)) #s(literal 1/3 binary64))
Compiler

Compiled 22 to 21 computations (4.5% saved)

simplify131.0ms (3.8%)

Memory
4.3MiB live, 122.1MiB allocated
Algorithm
egg-herbie
Localize:

Found 7 expressions of interest:

NewMetricScoreProgram
cost-diff0
(fma.f64 x x #s(literal -1/9 binary64))
cost-diff0
(-.f64 x #s(literal 1/3 binary64))
cost-diff0
(/.f64 (-.f64 x #s(literal 1/3 binary64)) (fma.f64 x x #s(literal -1/9 binary64)))
cost-diff704
(/.f64 #s(literal 1 binary64) (/.f64 (-.f64 x #s(literal 1/3 binary64)) (fma.f64 x x #s(literal -1/9 binary64))))
cost-diff0
(fma.f64 #s(literal -9 binary64) x #s(literal 3 binary64))
cost-diff0
#s(approx (/ (+ (* x x) 1/9) (* (+ (* x x) 1/9) (- x -1/3))) (fma.f64 #s(literal -9 binary64) x #s(literal 3 binary64)))
cost-diff0
(/.f64 #s(literal 1 binary64) #s(approx (/ (+ (* x x) 1/9) (* (+ (* x x) 1/9) (- x -1/3))) (fma.f64 #s(literal -9 binary64) x #s(literal 3 binary64))))
Rules
5 744×lower-fma.f32
5 740×lower-fma.f64
2 430×lower-*.f64
2 430×lower-*.f32
2 060×lower-/.f32
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02079
02779
14559
27757
313657
427057
537057
647057
760657
878257
9124257
10288457
11408857
12681557
0843257
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(/.f64 #s(literal 1 binary64) #s(approx (/ (+ (* x x) 1/9) (* (+ (* x x) 1/9) (- x -1/3))) (fma.f64 #s(literal -9 binary64) x #s(literal 3 binary64))))
#s(literal 1 binary64)
#s(approx (/ (+ (* x x) 1/9) (* (+ (* x x) 1/9) (- x -1/3))) (fma.f64 #s(literal -9 binary64) x #s(literal 3 binary64)))
(fma.f64 #s(literal -9 binary64) x #s(literal 3 binary64))
#s(literal -9 binary64)
x
#s(literal 3 binary64)
(/.f64 #s(literal 1 binary64) (/.f64 (-.f64 x #s(literal 1/3 binary64)) (fma.f64 x x #s(literal -1/9 binary64))))
#s(literal 1 binary64)
(/.f64 (-.f64 x #s(literal 1/3 binary64)) (fma.f64 x x #s(literal -1/9 binary64)))
(-.f64 x #s(literal 1/3 binary64))
x
#s(literal 1/3 binary64)
(fma.f64 x x #s(literal -1/9 binary64))
#s(literal -1/9 binary64)
Outputs
(/.f64 #s(literal 1 binary64) #s(approx (/ (+ (* x x) 1/9) (* (+ (* x x) 1/9) (- x -1/3))) (fma.f64 #s(literal -9 binary64) x #s(literal 3 binary64))))
#s(literal 1 binary64)
#s(approx (/ (+ (* x x) 1/9) (* (+ (* x x) 1/9) (- x -1/3))) (fma.f64 #s(literal -9 binary64) x #s(literal 3 binary64)))
(fma.f64 #s(literal -9 binary64) x #s(literal 3 binary64))
#s(literal -9 binary64)
x
#s(literal 3 binary64)
(/.f64 #s(literal 1 binary64) (/.f64 (-.f64 x #s(literal 1/3 binary64)) (fma.f64 x x #s(literal -1/9 binary64))))
(/.f64 (fma.f64 x x #s(literal -1/9 binary64)) (-.f64 x #s(literal 1/3 binary64)))
#s(literal 1 binary64)
(/.f64 (-.f64 x #s(literal 1/3 binary64)) (fma.f64 x x #s(literal -1/9 binary64)))
(-.f64 x #s(literal 1/3 binary64))
x
#s(literal 1/3 binary64)
(fma.f64 x x #s(literal -1/9 binary64))
#s(literal -1/9 binary64)

localize61.0ms (1.8%)

Memory
-19.2MiB live, 90.5MiB allocated
Localize:

Found 7 expressions of interest:

NewMetricScoreProgram
accuracy0.029138404760301943
(-.f64 x #s(literal 1/3 binary64))
accuracy0.03850773826221708
(fma.f64 x x #s(literal -1/9 binary64))
accuracy0.09765625
(/.f64 #s(literal 1 binary64) (/.f64 (-.f64 x #s(literal 1/3 binary64)) (fma.f64 x x #s(literal -1/9 binary64))))
accuracy14.095604062808322
(/.f64 (-.f64 x #s(literal 1/3 binary64)) (fma.f64 x x #s(literal -1/9 binary64)))
accuracy0
(fma.f64 #s(literal -9 binary64) x #s(literal 3 binary64))
accuracy0.09765625
(/.f64 #s(literal 1 binary64) #s(approx (/ (+ (* x x) 1/9) (* (+ (* x x) 1/9) (- x -1/3))) (fma.f64 #s(literal -9 binary64) x #s(literal 3 binary64))))
accuracy29.54163440806448
#s(approx (/ (+ (* x x) 1/9) (* (+ (* x x) 1/9) (- x -1/3))) (fma.f64 #s(literal -9 binary64) x #s(literal 3 binary64)))
Samples
45.0ms249×0valid
1.0ms2valid
1.0ms1valid
Compiler

Compiled 75 to 22 computations (70.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 37.0ms
const: 12.0ms (32.6% of total)
ival-mult: 8.0ms (21.7% of total)
ival-add: 7.0ms (19% of total)
ival-div: 6.0ms (16.3% of total)
ival-sub: 3.0ms (8.1% 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)

series5.0ms (0.2%)

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

3 calls:

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

simplify157.0ms (4.6%)

Memory
15.5MiB live, 218.2MiB allocated
Algorithm
egg-herbie
Rules
8 980×lower-fma.f64
8 980×lower-fma.f32
2 570×lower-*.f64
2 570×lower-*.f32
1 516×lower-+.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
079418
1221402
2509402
31466394
43739394
56152394
67546394
77969394
08016364
Stop Event
iter limit
node limit
Counts
84 → 78
Calls
Call 1
Inputs
1/3
(+ 1/3 x)
(+ 1/3 x)
(+ 1/3 x)
3
(+ 3 (* -9 x))
(+ 3 (* x (- (* 27 x) 9)))
(+ 3 (* x (- (* x (+ 27 (* -81 x))) 9)))
3
(+ 3 (* -9 x))
(+ 3 (* -9 x))
(+ 3 (* -9 x))
1/3
(+ 1/3 x)
(+ 1/3 x)
(+ 1/3 x)
3
(+ 3 (* -9 x))
(+ 3 (* x (- (* 27 x) 9)))
(+ 3 (* x (- (* x (+ 27 (* -81 x))) 9)))
-1/3
(- x 1/3)
(- x 1/3)
(- x 1/3)
-1/9
(- (pow x 2) 1/9)
(- (pow x 2) 1/9)
(- (pow x 2) 1/9)
x
(* x (+ 1 (* 1/3 (/ 1 x))))
(* x (+ 1 (* 1/3 (/ 1 x))))
(* x (+ 1 (* 1/3 (/ 1 x))))
(/ 1 x)
(/ (- 1 (* 1/3 (/ 1 x))) x)
(/ (- (+ 1 (/ 1/9 (pow x 2))) (* 1/3 (/ 1 x))) x)
(/ (- (+ 1 (/ 1/9 (pow x 2))) (+ (* 1/3 (/ 1 x)) (* 1/27 (/ 1 (pow x 3))))) x)
(* -9 x)
(* x (- (* 3 (/ 1 x)) 9))
(* x (- (* 3 (/ 1 x)) 9))
(* x (- (* 3 (/ 1 x)) 9))
x
(* x (+ 1 (* 1/3 (/ 1 x))))
(* x (+ 1 (* 1/3 (/ 1 x))))
(* x (+ 1 (* 1/3 (/ 1 x))))
(/ 1 x)
(/ (- 1 (* 1/3 (/ 1 x))) x)
(/ (- (+ 1 (/ 1/9 (pow x 2))) (* 1/3 (/ 1 x))) x)
(/ (- (+ 1 (/ 1/9 (pow x 2))) (+ (* 1/3 (/ 1 x)) (* 1/27 (/ 1 (pow x 3))))) x)
x
(* x (- 1 (* 1/3 (/ 1 x))))
(* x (- 1 (* 1/3 (/ 1 x))))
(* x (- 1 (* 1/3 (/ 1 x))))
(pow x 2)
(* (pow x 2) (- 1 (* 1/9 (/ 1 (pow x 2)))))
(* (pow x 2) (- 1 (* 1/9 (/ 1 (pow x 2)))))
(* (pow x 2) (- 1 (* 1/9 (/ 1 (pow x 2)))))
x
(* x (+ 1 (* 1/3 (/ 1 x))))
(* x (+ 1 (* 1/3 (/ 1 x))))
(* x (+ 1 (* 1/3 (/ 1 x))))
(/ 1 x)
(* -1 (/ (- (* 1/3 (/ 1 x)) 1) x))
(* -1 (/ (- (* -1 (/ (- (* 1/9 (/ 1 x)) 1/3) x)) 1) x))
(* -1 (/ (- (* -1 (/ (- (* -1 (/ (- (* 1/27 (/ 1 x)) 1/9) x)) 1/3) x)) 1) x))
(* -9 x)
(* -1 (* x (- 9 (* 3 (/ 1 x)))))
(* -1 (* x (- 9 (* 3 (/ 1 x)))))
(* -1 (* x (- 9 (* 3 (/ 1 x)))))
x
(* x (+ 1 (* 1/3 (/ 1 x))))
(* x (+ 1 (* 1/3 (/ 1 x))))
(* x (+ 1 (* 1/3 (/ 1 x))))
(/ 1 x)
(* -1 (/ (- (* 1/3 (/ 1 x)) 1) x))
(* -1 (/ (- (* -1 (/ (- (* 1/9 (/ 1 x)) 1/3) x)) 1) x))
(* -1 (/ (- (* -1 (/ (- (* -1 (/ (- (* 1/27 (/ 1 x)) 1/9) x)) 1/3) x)) 1) x))
x
(* -1 (* x (- (* 1/3 (/ 1 x)) 1)))
(* -1 (* x (- (* 1/3 (/ 1 x)) 1)))
(* -1 (* x (- (* 1/3 (/ 1 x)) 1)))
(pow x 2)
(* (pow x 2) (- 1 (* 1/9 (/ 1 (pow x 2)))))
(* (pow x 2) (- 1 (* 1/9 (/ 1 (pow x 2)))))
(* (pow x 2) (- 1 (* 1/9 (/ 1 (pow x 2)))))
Outputs
1/3
#s(literal 1/3 binary64)
(+ 1/3 x)
(+.f64 x #s(literal 1/3 binary64))
(+ 1/3 x)
(+.f64 x #s(literal 1/3 binary64))
(+ 1/3 x)
(+.f64 x #s(literal 1/3 binary64))
3
#s(literal 3 binary64)
(+ 3 (* -9 x))
(fma.f64 #s(literal -9 binary64) x #s(literal 3 binary64))
(+ 3 (* x (- (* 27 x) 9)))
(fma.f64 (fma.f64 #s(literal 27 binary64) x #s(literal -9 binary64)) x #s(literal 3 binary64))
(+ 3 (* x (- (* x (+ 27 (* -81 x))) 9)))
(fma.f64 (fma.f64 (fma.f64 #s(literal -81 binary64) x #s(literal 27 binary64)) x #s(literal -9 binary64)) x #s(literal 3 binary64))
3
#s(literal 3 binary64)
(+ 3 (* -9 x))
(fma.f64 #s(literal -9 binary64) x #s(literal 3 binary64))
(+ 3 (* -9 x))
(fma.f64 #s(literal -9 binary64) x #s(literal 3 binary64))
(+ 3 (* -9 x))
(fma.f64 #s(literal -9 binary64) x #s(literal 3 binary64))
1/3
#s(literal 1/3 binary64)
(+ 1/3 x)
(+.f64 x #s(literal 1/3 binary64))
(+ 1/3 x)
(+.f64 x #s(literal 1/3 binary64))
(+ 1/3 x)
(+.f64 x #s(literal 1/3 binary64))
3
#s(literal 3 binary64)
(+ 3 (* -9 x))
(fma.f64 #s(literal -9 binary64) x #s(literal 3 binary64))
(+ 3 (* x (- (* 27 x) 9)))
(fma.f64 (fma.f64 #s(literal 27 binary64) x #s(literal -9 binary64)) x #s(literal 3 binary64))
(+ 3 (* x (- (* x (+ 27 (* -81 x))) 9)))
(fma.f64 (fma.f64 (fma.f64 #s(literal -81 binary64) x #s(literal 27 binary64)) x #s(literal -9 binary64)) x #s(literal 3 binary64))
-1/3
#s(literal -1/3 binary64)
(- x 1/3)
(-.f64 x #s(literal 1/3 binary64))
(- x 1/3)
(-.f64 x #s(literal 1/3 binary64))
(- x 1/3)
(-.f64 x #s(literal 1/3 binary64))
-1/9
#s(literal -1/9 binary64)
(- (pow x 2) 1/9)
(fma.f64 x x #s(literal -1/9 binary64))
(- (pow x 2) 1/9)
(fma.f64 x x #s(literal -1/9 binary64))
(- (pow x 2) 1/9)
(fma.f64 x x #s(literal -1/9 binary64))
x
(* x (+ 1 (* 1/3 (/ 1 x))))
(+.f64 x #s(literal 1/3 binary64))
(* x (+ 1 (* 1/3 (/ 1 x))))
(+.f64 x #s(literal 1/3 binary64))
(* x (+ 1 (* 1/3 (/ 1 x))))
(+.f64 x #s(literal 1/3 binary64))
(/ 1 x)
(/.f64 #s(literal 1 binary64) x)
(/ (- 1 (* 1/3 (/ 1 x))) x)
(/.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1/3 binary64) x)) x)
(/ (- (+ 1 (/ 1/9 (pow x 2))) (* 1/3 (/ 1 x))) x)
(/.f64 (-.f64 (/.f64 (-.f64 (/.f64 #s(literal 1/9 binary64) x) #s(literal 1/3 binary64)) x) #s(literal -1 binary64)) x)
(/ (- (+ 1 (/ 1/9 (pow x 2))) (+ (* 1/3 (/ 1 x)) (* 1/27 (/ 1 (pow x 3))))) x)
(/.f64 (-.f64 (/.f64 (-.f64 #s(literal -1/3 binary64) (/.f64 (-.f64 (/.f64 #s(literal 1/27 binary64) x) #s(literal 1/9 binary64)) x)) x) #s(literal -1 binary64)) x)
(* -9 x)
(*.f64 #s(literal -9 binary64) x)
(* x (- (* 3 (/ 1 x)) 9))
(fma.f64 #s(literal -9 binary64) x #s(literal 3 binary64))
(* x (- (* 3 (/ 1 x)) 9))
(fma.f64 #s(literal -9 binary64) x #s(literal 3 binary64))
(* x (- (* 3 (/ 1 x)) 9))
(fma.f64 #s(literal -9 binary64) x #s(literal 3 binary64))
x
(* x (+ 1 (* 1/3 (/ 1 x))))
(+.f64 x #s(literal 1/3 binary64))
(* x (+ 1 (* 1/3 (/ 1 x))))
(+.f64 x #s(literal 1/3 binary64))
(* x (+ 1 (* 1/3 (/ 1 x))))
(+.f64 x #s(literal 1/3 binary64))
(/ 1 x)
(/.f64 #s(literal 1 binary64) x)
(/ (- 1 (* 1/3 (/ 1 x))) x)
(/.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1/3 binary64) x)) x)
(/ (- (+ 1 (/ 1/9 (pow x 2))) (* 1/3 (/ 1 x))) x)
(/.f64 (-.f64 (/.f64 (-.f64 (/.f64 #s(literal 1/9 binary64) x) #s(literal 1/3 binary64)) x) #s(literal -1 binary64)) x)
(/ (- (+ 1 (/ 1/9 (pow x 2))) (+ (* 1/3 (/ 1 x)) (* 1/27 (/ 1 (pow x 3))))) x)
(/.f64 (-.f64 (/.f64 (-.f64 #s(literal -1/3 binary64) (/.f64 (-.f64 (/.f64 #s(literal 1/27 binary64) x) #s(literal 1/9 binary64)) x)) x) #s(literal -1 binary64)) x)
x
(* x (- 1 (* 1/3 (/ 1 x))))
(-.f64 x #s(literal 1/3 binary64))
(* x (- 1 (* 1/3 (/ 1 x))))
(-.f64 x #s(literal 1/3 binary64))
(* x (- 1 (* 1/3 (/ 1 x))))
(-.f64 x #s(literal 1/3 binary64))
(pow x 2)
(*.f64 x x)
(* (pow x 2) (- 1 (* 1/9 (/ 1 (pow x 2)))))
(fma.f64 x x #s(literal -1/9 binary64))
(* (pow x 2) (- 1 (* 1/9 (/ 1 (pow x 2)))))
(fma.f64 x x #s(literal -1/9 binary64))
(* (pow x 2) (- 1 (* 1/9 (/ 1 (pow x 2)))))
(fma.f64 x x #s(literal -1/9 binary64))
x
(* x (+ 1 (* 1/3 (/ 1 x))))
(+.f64 x #s(literal 1/3 binary64))
(* x (+ 1 (* 1/3 (/ 1 x))))
(+.f64 x #s(literal 1/3 binary64))
(* x (+ 1 (* 1/3 (/ 1 x))))
(+.f64 x #s(literal 1/3 binary64))
(/ 1 x)
(/.f64 #s(literal 1 binary64) x)
(* -1 (/ (- (* 1/3 (/ 1 x)) 1) x))
(/.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1/3 binary64) x)) x)
(* -1 (/ (- (* -1 (/ (- (* 1/9 (/ 1 x)) 1/3) x)) 1) x))
(/.f64 (-.f64 (/.f64 (-.f64 (/.f64 #s(literal 1/9 binary64) x) #s(literal 1/3 binary64)) x) #s(literal -1 binary64)) x)
(* -1 (/ (- (* -1 (/ (- (* -1 (/ (- (* 1/27 (/ 1 x)) 1/9) x)) 1/3) x)) 1) x))
(/.f64 (-.f64 (/.f64 (-.f64 #s(literal -1/3 binary64) (/.f64 (-.f64 (/.f64 #s(literal 1/27 binary64) x) #s(literal 1/9 binary64)) x)) x) #s(literal -1 binary64)) x)
(* -9 x)
(*.f64 #s(literal -9 binary64) x)
(* -1 (* x (- 9 (* 3 (/ 1 x)))))
(fma.f64 #s(literal -9 binary64) x #s(literal 3 binary64))
(* -1 (* x (- 9 (* 3 (/ 1 x)))))
(fma.f64 #s(literal -9 binary64) x #s(literal 3 binary64))
(* -1 (* x (- 9 (* 3 (/ 1 x)))))
(fma.f64 #s(literal -9 binary64) x #s(literal 3 binary64))
x
(* x (+ 1 (* 1/3 (/ 1 x))))
(+.f64 x #s(literal 1/3 binary64))
(* x (+ 1 (* 1/3 (/ 1 x))))
(+.f64 x #s(literal 1/3 binary64))
(* x (+ 1 (* 1/3 (/ 1 x))))
(+.f64 x #s(literal 1/3 binary64))
(/ 1 x)
(/.f64 #s(literal 1 binary64) x)
(* -1 (/ (- (* 1/3 (/ 1 x)) 1) x))
(/.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1/3 binary64) x)) x)
(* -1 (/ (- (* -1 (/ (- (* 1/9 (/ 1 x)) 1/3) x)) 1) x))
(/.f64 (-.f64 (/.f64 (-.f64 (/.f64 #s(literal 1/9 binary64) x) #s(literal 1/3 binary64)) x) #s(literal -1 binary64)) x)
(* -1 (/ (- (* -1 (/ (- (* -1 (/ (- (* 1/27 (/ 1 x)) 1/9) x)) 1/3) x)) 1) x))
(/.f64 (-.f64 (/.f64 (-.f64 #s(literal -1/3 binary64) (/.f64 (-.f64 (/.f64 #s(literal 1/27 binary64) x) #s(literal 1/9 binary64)) x)) x) #s(literal -1 binary64)) x)
x
(* -1 (* x (- (* 1/3 (/ 1 x)) 1)))
(-.f64 x #s(literal 1/3 binary64))
(* -1 (* x (- (* 1/3 (/ 1 x)) 1)))
(-.f64 x #s(literal 1/3 binary64))
(* -1 (* x (- (* 1/3 (/ 1 x)) 1)))
(-.f64 x #s(literal 1/3 binary64))
(pow x 2)
(*.f64 x x)
(* (pow x 2) (- 1 (* 1/9 (/ 1 (pow x 2)))))
(fma.f64 x x #s(literal -1/9 binary64))
(* (pow x 2) (- 1 (* 1/9 (/ 1 (pow x 2)))))
(fma.f64 x x #s(literal -1/9 binary64))
(* (pow x 2) (- 1 (* 1/9 (/ 1 (pow x 2)))))
(fma.f64 x x #s(literal -1/9 binary64))

rewrite288.0ms (8.4%)

Memory
-27.1MiB live, 189.6MiB allocated
Rules
5 474×lower-*.f64
5 474×lower-*.f32
5 440×lower-fma.f32
5 436×lower-fma.f64
4 206×lower-/.f32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02071
02771
113241
293941
0891741
Stop Event
iter limit
node limit
iter limit
Counts
7 → 764
Calls
Call 1
Inputs
(/.f64 #s(literal 1 binary64) #s(approx (/ (+ (* x x) 1/9) (* (+ (* x x) 1/9) (- x -1/3))) (fma.f64 #s(literal -9 binary64) x #s(literal 3 binary64))))
#s(approx (/ (+ (* x x) 1/9) (* (+ (* x x) 1/9) (- x -1/3))) (fma.f64 #s(literal -9 binary64) x #s(literal 3 binary64)))
(fma.f64 #s(literal -9 binary64) x #s(literal 3 binary64))
(/.f64 #s(literal 1 binary64) (/.f64 (-.f64 x #s(literal 1/3 binary64)) (fma.f64 x x #s(literal -1/9 binary64))))
(/.f64 (-.f64 x #s(literal 1/3 binary64)) (fma.f64 x x #s(literal -1/9 binary64)))
(-.f64 x #s(literal 1/3 binary64))
(fma.f64 x x #s(literal -1/9 binary64))
Outputs
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval104.0ms (3.1%)

Memory
4.5MiB live, 197.3MiB allocated
Compiler

Compiled 17 891 to 2 477 computations (86.2% saved)

prune17.0ms (0.5%)

Memory
11.0MiB live, 49.5MiB allocated
Pruning

4 alts after pruning (0 fresh and 4 done)

PrunedKeptTotal
New8420842
Fresh000
Picked022
Done022
Total8424846
Accuracy
100.0%
Counts
846 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
77.9%
(/.f64 #s(literal 1 binary64) (/.f64 (-.f64 x #s(literal 1/3 binary64)) (fma.f64 x x #s(literal -1/9 binary64))))
53.8%
(/.f64 #s(literal 1 binary64) #s(approx (/ (+ (* x x) 1/9) (* (+ (* x x) 1/9) (- x -1/3))) (fma.f64 #s(literal -9 binary64) x #s(literal 3 binary64))))
100.0%
(-.f64 x #s(literal -1/3 binary64))
54.1%
#s(approx (+ x (/ 1 3)) #s(literal 1/3 binary64))
Compiler

Compiled 76 to 47 computations (38.2% saved)

regimes6.0ms (0.2%)

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

2 calls:

3.0ms
x
2.0ms
(+.f64 x (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))
Results
AccuracySegmentsBranch
100.0%1x
100.0%1(+.f64 x (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))
Compiler

Compiled 6 to 6 computations (0% saved)

regimes3.0ms (0.1%)

Memory
4.0MiB live, 4.0MiB allocated
Accuracy

Total 0.0b remaining (0%)

Threshold costs 0b (0%)

Counts
1 → 1
Calls
Call 1
Inputs
#s(approx (+ x (/ 1 3)) #s(literal 1/3 binary64))
Outputs
#s(approx (+ x (/ 1 3)) #s(literal 1/3 binary64))
Calls

2 calls:

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

Compiled 6 to 6 computations (0% saved)

simplify113.0ms (3.3%)

Memory
-18.6MiB live, 29.3MiB allocated
Algorithm
egg-herbie
Rules
+-commutative-binary64-+.f64
sub-neg-binary64-neg.f64-+.f64--.f64
1-exp-binary32-exp.f32
*-commutative-binary64-*.f64
1-exp-binary64-exp.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
098
1148
2188
3208
4218
Stop Event
saturated
Calls
Call 1
Inputs
(-.f64 x #s(literal -1/3 binary64))
#s(approx (+ x (/ 1 3)) #s(literal 1/3 binary64))
Outputs
(-.f64 x #s(literal -1/3 binary64))
#s(approx (+ x (/ 1 3)) #s(literal 1/3 binary64))

soundness109.0ms (3.2%)

Memory
16.5MiB live, 91.1MiB allocated
Rules
8 708×lower-fma.f64
8 708×lower-fma.f32
5 116×lower-*.f64
5 116×lower-*.f32
3 868×lower-/.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
054
084
1254
21264
39574
086434
0830
12230
23730
37730
47730
57830
68030
78030
08030
Stop Event
done
iter limit
saturated
iter limit
node limit
iter limit
Compiler

Compiled 14 to 14 computations (0% saved)

preprocess30.0ms (0.9%)

Memory
-7.9MiB live, 30.3MiB allocated
Compiler

Compiled 20 to 20 computations (0% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...