Details

Time bar (total: 4.2s)

analyze0.0ms (0%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%100%0%0%0%0%0
0%0%100%0%0%0%0%1
100%100%0%0%0%0%0%2
Compiler

Compiled 10 to 8 computations (20% saved)

sample1.4s (32.9%)

Results
1.4s8256×body256valid
Bogosity

preprocess70.0ms (1.7%)

Algorithm
egg-herbie
Rules
1460×rational.json-simplify-2
1160×rational.json-simplify-44
1120×rational.json-simplify-59
1090×rational.json-simplify-47
786×rational.json-simplify-61
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01025
12225
23825
36125
412325
531625
642625
747725
877525
9519425
011
Stop Event
saturated
node limit
Calls
Call 1
Inputs
0
Outputs
0
Call 2
Inputs
(/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
Outputs
(/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
Compiler

Compiled 10 to 8 computations (20% saved)

simplify65.0ms (1.5%)

Algorithm
egg-herbie
Rules
1460×rational.json-simplify-2
1160×rational.json-simplify-44
1120×rational.json-simplify-59
1090×rational.json-simplify-47
786×rational.json-simplify-61
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01025
12225
23825
36125
412325
531625
642625
747725
877525
9519425
Stop Event
node limit
Counts
1 → 1
Calls
Call 1
Inputs
(/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
Outputs
(/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))

eval0.0ms (0%)

Compiler

Compiled 9 to 7 computations (22.2% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
0.0b
Counts
2 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
Compiler

Compiled 9 to 7 computations (22.2% saved)

localize8.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
0.0b
(/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
Compiler

Compiled 24 to 8 computations (66.7% saved)

series2.0ms (0%)

Counts
2 → 24
Calls

6 calls:

TimeVariablePointExpression
1.0ms
x
@-inf
(/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
0.0ms
x
@inf
(/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
0.0ms
x
@0
(/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
0.0ms
x
@0
(+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
0.0ms
x
@-inf
(+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))

rewrite70.0ms (1.7%)

Algorithm
batch-egg-rewrite
Rules
1400×bool.json-1
1400×bool.json-2
1354×rational.json-1
1354×rational.json-2
1354×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01044
110544
231044
372344
4164844
5428944
Stop Event
node limit
Counts
2 → 52
Calls
Call 1
Inputs
(/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 1 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (/.f64 1 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 1 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (/.f64 1 (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (/.f64 1/2 (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (/.f64 1/2 (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 4 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1/2) (/.f64 2 (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1/2) (/.f64 1 (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (/.f64 4 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (/.f64 4 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 2 (/.f64 4 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (/.f64 (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 4) (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (/.f64 (*.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1/4) (/.f64 2 (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 4) (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1/2))) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1/4))) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1/2))) (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1/2))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1/2))) (*.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1/4))) (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1/4))) (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1/4))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x and (/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x or (/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (exp.f64 (neg.f64 x)) (+.f64 1 (exp.f64 (+.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 8) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1 (exp.f64 (+.f64 x x))) (exp.f64 (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/8 (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 8))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))))))

simplify133.0ms (3.2%)

Algorithm
egg-herbie
Rules
1444×rational.json-simplify-35
1178×rational.json-simplify-59
1036×rational.json-simplify-41
930×rational.json-simplify-19
738×rational.json-simplify-53
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01261750
12531750
210291750
322731750
450761750
575551750
Stop Event
node limit
Counts
76 → 73
Calls
Call 1
Inputs
1
(+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 x 2)) (*.f64 5/24 (pow.f64 x 4))))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 x 2)) (+.f64 (*.f64 -61/720 (pow.f64 x 6)) (*.f64 5/24 (pow.f64 x 4)))))
(/.f64 2 (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(/.f64 2 (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(/.f64 2 (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(/.f64 2 (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x))))
(/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x))))
(/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x))))
(/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x))))
2
(+.f64 2 (pow.f64 x 2))
(+.f64 2 (+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4))))
(+.f64 2 (+.f64 (*.f64 1/360 (pow.f64 x 6)) (+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4)))))
(+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x))
(+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x))
(+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x))
(+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x))
(+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x)))
(+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x)))
(+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x)))
(+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x)))
(+.f64 (/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) 0)
(+.f64 0 (/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))
(+.f64 (/.f64 1 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (/.f64 1 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))
(-.f64 (/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) 0)
(*.f64 2 (/.f64 1 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))
(*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (/.f64 1 (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1/2))))
(*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (/.f64 1/2 (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1/4))))
(*.f64 (/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) 1)
(*.f64 1 (/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))
(*.f64 4 (/.f64 (/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) 4))
(*.f64 (*.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (/.f64 1/2 (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1/2))))
(*.f64 (/.f64 4 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) 1/2)
(*.f64 (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1/2) (/.f64 2 (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1/2))))
(*.f64 (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1/2) (/.f64 1 (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1/4))))
(*.f64 (*.f64 2 (/.f64 4 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))) 1/4)
(*.f64 1/2 (/.f64 4 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))
(*.f64 (/.f64 1 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) 2)
(*.f64 1/4 (*.f64 2 (/.f64 4 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))))
(*.f64 1/4 (/.f64 (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 4) (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1/2))))
(*.f64 1/4 (/.f64 (*.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1/4))))
(*.f64 (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1/4) (/.f64 2 (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1/4))))
(*.f64 (/.f64 (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 4) (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1/2))) 1/4)
(*.f64 (/.f64 (*.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1/4))) 1/4)
(*.f64 (/.f64 2 (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1/2))) (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1/2))
(*.f64 (/.f64 1 (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1/2))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(*.f64 (/.f64 1/2 (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1/2))) (*.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))
(*.f64 (/.f64 2 (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1/4))) (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1/4))
(*.f64 (/.f64 1 (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1/4))) (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1/2))
(*.f64 (/.f64 1/2 (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1/4))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(*.f64 (/.f64 (/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) 4) 4)
(-.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 0)
(-.f64 0 (neg.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))
(*.f64 2 (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1/2))
(*.f64 (exp.f64 (neg.f64 x)) (+.f64 1 (exp.f64 (+.f64 x x))))
(*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1)
(*.f64 1 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(*.f64 4 (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1/4))
(*.f64 (*.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) 1/2)
(*.f64 (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 4) 1/4)
(*.f64 (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1/2) 2)
(*.f64 (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 8) 1/8)
(*.f64 1/2 (*.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))
(*.f64 1/4 (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 4))
(*.f64 (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1/4) 4)
(*.f64 (+.f64 1 (exp.f64 (+.f64 x x))) (exp.f64 (neg.f64 x)))
(*.f64 1/8 (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 8))
(/.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1)
(/.f64 (*.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) 2)
(/.f64 (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 4) 4)
(/.f64 (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 8)) 16)
(neg.f64 (neg.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))
Outputs
1
(+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 x 2)) (*.f64 5/24 (pow.f64 x 4))))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 x 2)) (+.f64 (*.f64 -61/720 (pow.f64 x 6)) (*.f64 5/24 (pow.f64 x 4)))))
(+.f64 1 (+.f64 (*.f64 -61/720 (pow.f64 x 6)) (+.f64 (*.f64 -1/2 (pow.f64 x 2)) (*.f64 5/24 (pow.f64 x 4)))))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 x 2)) (+.f64 (*.f64 5/24 (pow.f64 x 4)) (*.f64 -61/720 (pow.f64 x 6)))))
(+.f64 (*.f64 -1/2 (pow.f64 x 2)) (+.f64 1 (+.f64 (*.f64 5/24 (pow.f64 x 4)) (*.f64 -61/720 (pow.f64 x 6)))))
(+.f64 1 (+.f64 (*.f64 5/24 (pow.f64 x 4)) (+.f64 (*.f64 -1/2 (pow.f64 x 2)) (*.f64 -61/720 (pow.f64 x 6)))))
(/.f64 2 (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(/.f64 2 (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(/.f64 2 (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(/.f64 2 (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x))))
(/.f64 2 (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x))))
(/.f64 2 (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x))))
(/.f64 2 (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x))))
(/.f64 2 (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
2
(+.f64 2 (pow.f64 x 2))
(+.f64 2 (+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4))))
(+.f64 2 (+.f64 (pow.f64 x 2) (*.f64 (pow.f64 x 4) 1/12)))
(+.f64 (+.f64 2 (pow.f64 x 2)) (*.f64 (pow.f64 x 4) 1/12))
(+.f64 (pow.f64 x 2) (+.f64 2 (*.f64 (pow.f64 x 4) 1/12)))
(+.f64 2 (+.f64 (*.f64 1/360 (pow.f64 x 6)) (+.f64 (pow.f64 x 2) (*.f64 1/12 (pow.f64 x 4)))))
(+.f64 2 (+.f64 (pow.f64 x 2) (+.f64 (*.f64 (pow.f64 x 4) 1/12) (*.f64 (pow.f64 x 6) 1/360))))
(+.f64 2 (+.f64 (*.f64 (pow.f64 x 4) 1/12) (+.f64 (pow.f64 x 2) (*.f64 (pow.f64 x 6) 1/360))))
(+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x))
(+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x))
(+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x))
(+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x))
(+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x)))
(+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x))
(+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x)))
(+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x))
(+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x)))
(+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x))
(+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x)))
(+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x))
(+.f64 (/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) 0)
(/.f64 2 (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(+.f64 0 (/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))
(/.f64 2 (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(+.f64 (/.f64 1 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (/.f64 1 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))
(/.f64 2 (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(-.f64 (/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) 0)
(/.f64 2 (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(*.f64 2 (/.f64 1 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))
(/.f64 2 (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (/.f64 1 (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1/2))))
(/.f64 2 (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (/.f64 1/2 (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1/4))))
(/.f64 2 (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(*.f64 (/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) 1)
(/.f64 2 (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(*.f64 1 (/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))
(/.f64 2 (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(*.f64 4 (/.f64 (/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) 4))
(/.f64 2 (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(*.f64 (*.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (/.f64 1/2 (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1/2))))
(/.f64 2 (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(*.f64 (/.f64 4 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) 1/2)
(/.f64 2 (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(*.f64 (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1/2) (/.f64 2 (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1/2))))
(/.f64 2 (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(*.f64 (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1/2) (/.f64 1 (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1/4))))
(/.f64 2 (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(*.f64 (*.f64 2 (/.f64 4 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))) 1/4)
(/.f64 2 (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(*.f64 1/2 (/.f64 4 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))
(/.f64 2 (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(*.f64 (/.f64 1 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) 2)
(/.f64 2 (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(*.f64 1/4 (*.f64 2 (/.f64 4 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))))
(/.f64 2 (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(*.f64 1/4 (/.f64 (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 4) (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1/2))))
(/.f64 2 (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(*.f64 1/4 (/.f64 (*.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1/4))))
(/.f64 2 (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(*.f64 (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1/4) (/.f64 2 (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1/4))))
(/.f64 2 (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(*.f64 (/.f64 (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 4) (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1/2))) 1/4)
(/.f64 2 (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(*.f64 (/.f64 (*.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1/4))) 1/4)
(/.f64 2 (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(*.f64 (/.f64 2 (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1/2))) (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1/2))
(/.f64 2 (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(*.f64 (/.f64 1 (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1/2))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(/.f64 2 (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(*.f64 (/.f64 1/2 (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1/2))) (*.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))
(/.f64 2 (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(*.f64 (/.f64 2 (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1/4))) (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1/4))
(/.f64 2 (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(*.f64 (/.f64 1 (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1/4))) (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1/2))
(/.f64 2 (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(*.f64 (/.f64 1/2 (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1/4))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(/.f64 2 (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(*.f64 (/.f64 (/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) 4) 4)
(/.f64 2 (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)))
(-.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 0)
(+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x))
(-.f64 0 (neg.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))
(+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x))
(*.f64 2 (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1/2))
(+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x))
(*.f64 (exp.f64 (neg.f64 x)) (+.f64 1 (exp.f64 (+.f64 x x))))
(*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1)
(+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x))
(*.f64 1 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x))
(*.f64 4 (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1/4))
(+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x))
(*.f64 (*.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) 1/2)
(+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x))
(*.f64 (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 4) 1/4)
(+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x))
(*.f64 (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1/2) 2)
(+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x))
(*.f64 (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 8) 1/8)
(+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x))
(*.f64 1/2 (*.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))
(+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x))
(*.f64 1/4 (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 4))
(+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x))
(*.f64 (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1/4) 4)
(+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x))
(*.f64 (+.f64 1 (exp.f64 (+.f64 x x))) (exp.f64 (neg.f64 x)))
(*.f64 (exp.f64 (neg.f64 x)) (+.f64 1 (exp.f64 (+.f64 x x))))
(*.f64 1/8 (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 8))
(+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x))
(/.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1)
(+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x))
(/.f64 (*.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) 2)
(+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x))
(/.f64 (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 4) 4)
(+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x))
(/.f64 (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 8) 8)
(+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x))
(/.f64 (*.f64 2 (*.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 8)) 16)
(+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x))
(neg.f64 (neg.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))
(+.f64 (exp.f64 (neg.f64 x)) (exp.f64 x))

eval15.0ms (0.4%)

Compiler

Compiled 1088 to 528 computations (51.5% saved)

prune9.0ms (0.2%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New70373
Fresh000
Picked011
Done000
Total70474
Error
0.0b
Counts
74 → 4
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
16.0b
(/.f64 2 (+.f64 2 (pow.f64 x 2)))
32.2b
(+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))
31.7b
1
Compiler

Compiled 27 to 23 computations (14.8% saved)

localize9.0ms (0.2%)

Compiler

Compiled 20 to 16 computations (20% saved)

localize7.0ms (0.2%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.2b
(/.f64 2 (+.f64 2 (pow.f64 x 2)))
Compiler

Compiled 18 to 14 computations (22.2% saved)

series1.0ms (0%)

Counts
1 → 12
Calls

3 calls:

TimeVariablePointExpression
0.0ms
x
@inf
(/.f64 2 (+.f64 2 (pow.f64 x 2)))
0.0ms
x
@-inf
(/.f64 2 (+.f64 2 (pow.f64 x 2)))
0.0ms
x
@0
(/.f64 2 (+.f64 2 (pow.f64 x 2)))

rewrite88.0ms (2.1%)

Algorithm
batch-egg-rewrite
Rules
1972×bool.json-1
976×bool.json-2
960×rational.json-simplify-35
934×rational.json-1
934×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0719
17319
222719
353219
4118419
5299919
6755919
Stop Event
node limit
Counts
1 → 25
Calls
Call 1
Inputs
(/.f64 2 (+.f64 2 (pow.f64 x 2)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 2 (+.f64 2 (pow.f64 x 2))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 2 (+.f64 2 (pow.f64 x 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 1 (+.f64 2 (pow.f64 x 2))) (/.f64 1 (+.f64 2 (pow.f64 x 2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 2 (+.f64 2 (pow.f64 x 2))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 1 (+.f64 2 (pow.f64 x 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 2 (pow.f64 x 2)) (/.f64 (/.f64 2 (+.f64 2 (pow.f64 x 2))) (+.f64 2 (pow.f64 x 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 (+.f64 2 (pow.f64 x 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 2 (+.f64 2 (pow.f64 x 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 1/2 (+.f64 2 (pow.f64 x 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (+.f64 2 (pow.f64 x 2))) (/.f64 (/.f64 1 (+.f64 2 (pow.f64 x 2))) (+.f64 2 (pow.f64 x 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 4 (+.f64 2 (pow.f64 x 2))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 2 (pow.f64 x 2)) 1/2) (/.f64 (/.f64 4 (+.f64 2 (pow.f64 x 2))) (+.f64 2 (pow.f64 x 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (/.f64 4 (+.f64 2 (pow.f64 x 2)))) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (/.f64 4 (+.f64 2 (pow.f64 x 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (+.f64 2 (pow.f64 x 2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 2 (pow.f64 x 2)) 1/4) (/.f64 (/.f64 8 (+.f64 2 (pow.f64 x 2))) (+.f64 2 (pow.f64 x 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 2 (/.f64 4 (+.f64 2 (pow.f64 x 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (/.f64 8 (+.f64 2 (pow.f64 x 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 8 (+.f64 2 (pow.f64 x 2))) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (+.f64 2 (pow.f64 x 2))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 8 (+.f64 2 (pow.f64 x 2))) (+.f64 2 (pow.f64 x 2))) (*.f64 (+.f64 2 (pow.f64 x 2)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 4 (+.f64 2 (pow.f64 x 2))) (+.f64 2 (pow.f64 x 2))) (*.f64 (+.f64 2 (pow.f64 x 2)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 2 (+.f64 2 (pow.f64 x 2))) (+.f64 2 (pow.f64 x 2))) (+.f64 2 (pow.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 1 (+.f64 2 (pow.f64 x 2))) (+.f64 2 (pow.f64 x 2))) (*.f64 2 (+.f64 2 (pow.f64 x 2))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 -2 (+.f64 2 (pow.f64 x 2))))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (/.f64 2 (+.f64 2 (pow.f64 x 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (/.f64 2 (+.f64 2 (pow.f64 x 2))) (/.f64 2 (+.f64 2 (pow.f64 x 2))))))) (#(struct:change #<rule egg-rr> (2) ((x or (/.f64 2 (+.f64 2 (pow.f64 x 2))) (/.f64 2 (+.f64 2 (pow.f64 x 2))))))))

simplify112.0ms (2.7%)

Algorithm
egg-herbie
Rules
1846×rational.json-simplify-35
1028×rational.json-simplify-2
1028×rational.json-simplify-19
788×rational.json-simplify-59
748×rational.json-simplify-1
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
0831447
11631447
22831447
34901447
410311447
529081393
652281393
769731393
Stop Event
node limit
Counts
37 → 52
Calls
Call 1
Inputs
1
(+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))
(+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 x 4)) (*.f64 -1/2 (pow.f64 x 2))))
(+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 x 4)) (+.f64 (*.f64 -1/2 (pow.f64 x 2)) (*.f64 -1/8 (pow.f64 x 6)))))
(/.f64 2 (pow.f64 x 2))
(-.f64 (*.f64 2 (/.f64 1 (pow.f64 x 2))) (*.f64 4 (/.f64 1 (pow.f64 x 4))))
(-.f64 (+.f64 (*.f64 8 (/.f64 1 (pow.f64 x 6))) (*.f64 2 (/.f64 1 (pow.f64 x 2)))) (*.f64 4 (/.f64 1 (pow.f64 x 4))))
(-.f64 (+.f64 (*.f64 8 (/.f64 1 (pow.f64 x 6))) (*.f64 2 (/.f64 1 (pow.f64 x 2)))) (+.f64 (*.f64 4 (/.f64 1 (pow.f64 x 4))) (*.f64 16 (/.f64 1 (pow.f64 x 8)))))
(/.f64 2 (pow.f64 x 2))
(-.f64 (*.f64 2 (/.f64 1 (pow.f64 x 2))) (*.f64 4 (/.f64 1 (pow.f64 x 4))))
(-.f64 (+.f64 (*.f64 8 (/.f64 1 (pow.f64 x 6))) (*.f64 2 (/.f64 1 (pow.f64 x 2)))) (*.f64 4 (/.f64 1 (pow.f64 x 4))))
(-.f64 (+.f64 (*.f64 8 (/.f64 1 (pow.f64 x 6))) (*.f64 2 (/.f64 1 (pow.f64 x 2)))) (+.f64 (*.f64 4 (/.f64 1 (pow.f64 x 4))) (*.f64 16 (/.f64 1 (pow.f64 x 8)))))
(+.f64 (/.f64 2 (+.f64 2 (pow.f64 x 2))) 0)
(+.f64 0 (/.f64 2 (+.f64 2 (pow.f64 x 2))))
(+.f64 (/.f64 1 (+.f64 2 (pow.f64 x 2))) (/.f64 1 (+.f64 2 (pow.f64 x 2))))
(-.f64 (/.f64 2 (+.f64 2 (pow.f64 x 2))) 0)
(*.f64 2 (/.f64 1 (+.f64 2 (pow.f64 x 2))))
(*.f64 (+.f64 2 (pow.f64 x 2)) (/.f64 (/.f64 2 (+.f64 2 (pow.f64 x 2))) (+.f64 2 (pow.f64 x 2))))
(*.f64 (/.f64 2 (+.f64 2 (pow.f64 x 2))) 1)
(*.f64 1 (/.f64 2 (+.f64 2 (pow.f64 x 2))))
(*.f64 4 (/.f64 1/2 (+.f64 2 (pow.f64 x 2))))
(*.f64 (*.f64 2 (+.f64 2 (pow.f64 x 2))) (/.f64 (/.f64 1 (+.f64 2 (pow.f64 x 2))) (+.f64 2 (pow.f64 x 2))))
(*.f64 (/.f64 4 (+.f64 2 (pow.f64 x 2))) 1/2)
(*.f64 (*.f64 (+.f64 2 (pow.f64 x 2)) 1/2) (/.f64 (/.f64 4 (+.f64 2 (pow.f64 x 2))) (+.f64 2 (pow.f64 x 2))))
(*.f64 (*.f64 2 (/.f64 4 (+.f64 2 (pow.f64 x 2)))) 1/4)
(*.f64 1/2 (/.f64 4 (+.f64 2 (pow.f64 x 2))))
(*.f64 (/.f64 1 (+.f64 2 (pow.f64 x 2))) 2)
(*.f64 (*.f64 (+.f64 2 (pow.f64 x 2)) 1/4) (/.f64 (/.f64 8 (+.f64 2 (pow.f64 x 2))) (+.f64 2 (pow.f64 x 2))))
(*.f64 1/4 (*.f64 2 (/.f64 4 (+.f64 2 (pow.f64 x 2)))))
(*.f64 1/4 (/.f64 8 (+.f64 2 (pow.f64 x 2))))
(*.f64 (/.f64 8 (+.f64 2 (pow.f64 x 2))) 1/4)
(*.f64 (/.f64 1/2 (+.f64 2 (pow.f64 x 2))) 4)
(*.f64 (/.f64 (/.f64 8 (+.f64 2 (pow.f64 x 2))) (+.f64 2 (pow.f64 x 2))) (*.f64 (+.f64 2 (pow.f64 x 2)) 1/4))
(*.f64 (/.f64 (/.f64 4 (+.f64 2 (pow.f64 x 2))) (+.f64 2 (pow.f64 x 2))) (*.f64 (+.f64 2 (pow.f64 x 2)) 1/2))
(*.f64 (/.f64 (/.f64 2 (+.f64 2 (pow.f64 x 2))) (+.f64 2 (pow.f64 x 2))) (+.f64 2 (pow.f64 x 2)))
(*.f64 (/.f64 (/.f64 1 (+.f64 2 (pow.f64 x 2))) (+.f64 2 (pow.f64 x 2))) (*.f64 2 (+.f64 2 (pow.f64 x 2))))
(neg.f64 (/.f64 -2 (+.f64 2 (pow.f64 x 2))))
Outputs
1
(+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))
(+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 x 4)) (*.f64 -1/2 (pow.f64 x 2))))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 x 2)) (*.f64 1/4 (pow.f64 x 4))))
(+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 x 4)) (+.f64 (*.f64 -1/2 (pow.f64 x 2)) (*.f64 -1/8 (pow.f64 x 6)))))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 x 2)) (+.f64 (*.f64 -1/8 (pow.f64 x 6)) (*.f64 1/4 (pow.f64 x 4)))))
(+.f64 1 (+.f64 (*.f64 -1/8 (pow.f64 x 6)) (+.f64 (*.f64 -1/2 (pow.f64 x 2)) (*.f64 1/4 (pow.f64 x 4)))))
(+.f64 1 (+.f64 (+.f64 (*.f64 -1/2 (pow.f64 x 2)) (*.f64 1/4 (pow.f64 x 4))) (*.f64 -1/8 (pow.f64 x 6))))
(+.f64 (*.f64 -1/2 (pow.f64 x 2)) (+.f64 (*.f64 1/4 (pow.f64 x 4)) (+.f64 1 (*.f64 -1/8 (pow.f64 x 6)))))
(/.f64 2 (pow.f64 x 2))
(-.f64 (*.f64 2 (/.f64 1 (pow.f64 x 2))) (*.f64 4 (/.f64 1 (pow.f64 x 4))))
(-.f64 (+.f64 (*.f64 8 (/.f64 1 (pow.f64 x 6))) (*.f64 2 (/.f64 1 (pow.f64 x 2)))) (*.f64 4 (/.f64 1 (pow.f64 x 4))))
(+.f64 (*.f64 2 (/.f64 1 (pow.f64 x 2))) (-.f64 (*.f64 8 (/.f64 1 (pow.f64 x 6))) (*.f64 4 (/.f64 1 (pow.f64 x 4)))))
(-.f64 (+.f64 (*.f64 8 (/.f64 1 (pow.f64 x 6))) (*.f64 2 (/.f64 1 (pow.f64 x 2)))) (+.f64 (*.f64 4 (/.f64 1 (pow.f64 x 4))) (*.f64 16 (/.f64 1 (pow.f64 x 8)))))
(-.f64 (+.f64 (*.f64 2 (/.f64 1 (pow.f64 x 2))) (*.f64 8 (/.f64 1 (pow.f64 x 6)))) (+.f64 (*.f64 4 (/.f64 1 (pow.f64 x 4))) (*.f64 16 (/.f64 1 (pow.f64 x 8)))))
(+.f64 (*.f64 2 (/.f64 1 (pow.f64 x 2))) (-.f64 (*.f64 8 (/.f64 1 (pow.f64 x 6))) (+.f64 (*.f64 4 (/.f64 1 (pow.f64 x 4))) (*.f64 16 (/.f64 1 (pow.f64 x 8))))))
(+.f64 (*.f64 8 (/.f64 1 (pow.f64 x 6))) (-.f64 (*.f64 2 (/.f64 1 (pow.f64 x 2))) (+.f64 (*.f64 4 (/.f64 1 (pow.f64 x 4))) (*.f64 16 (/.f64 1 (pow.f64 x 8))))))
(/.f64 2 (pow.f64 x 2))
(-.f64 (*.f64 2 (/.f64 1 (pow.f64 x 2))) (*.f64 4 (/.f64 1 (pow.f64 x 4))))
(-.f64 (+.f64 (*.f64 8 (/.f64 1 (pow.f64 x 6))) (*.f64 2 (/.f64 1 (pow.f64 x 2)))) (*.f64 4 (/.f64 1 (pow.f64 x 4))))
(+.f64 (*.f64 2 (/.f64 1 (pow.f64 x 2))) (-.f64 (*.f64 8 (/.f64 1 (pow.f64 x 6))) (*.f64 4 (/.f64 1 (pow.f64 x 4)))))
(-.f64 (+.f64 (*.f64 8 (/.f64 1 (pow.f64 x 6))) (*.f64 2 (/.f64 1 (pow.f64 x 2)))) (+.f64 (*.f64 4 (/.f64 1 (pow.f64 x 4))) (*.f64 16 (/.f64 1 (pow.f64 x 8)))))
(-.f64 (+.f64 (*.f64 2 (/.f64 1 (pow.f64 x 2))) (*.f64 8 (/.f64 1 (pow.f64 x 6)))) (+.f64 (*.f64 4 (/.f64 1 (pow.f64 x 4))) (*.f64 16 (/.f64 1 (pow.f64 x 8)))))
(+.f64 (*.f64 2 (/.f64 1 (pow.f64 x 2))) (-.f64 (*.f64 8 (/.f64 1 (pow.f64 x 6))) (+.f64 (*.f64 4 (/.f64 1 (pow.f64 x 4))) (*.f64 16 (/.f64 1 (pow.f64 x 8))))))
(+.f64 (*.f64 8 (/.f64 1 (pow.f64 x 6))) (-.f64 (*.f64 2 (/.f64 1 (pow.f64 x 2))) (+.f64 (*.f64 4 (/.f64 1 (pow.f64 x 4))) (*.f64 16 (/.f64 1 (pow.f64 x 8))))))
(+.f64 (/.f64 2 (+.f64 2 (pow.f64 x 2))) 0)
(/.f64 2 (+.f64 2 (pow.f64 x 2)))
(+.f64 0 (/.f64 2 (+.f64 2 (pow.f64 x 2))))
(/.f64 2 (+.f64 2 (pow.f64 x 2)))
(+.f64 (/.f64 1 (+.f64 2 (pow.f64 x 2))) (/.f64 1 (+.f64 2 (pow.f64 x 2))))
(*.f64 2 (/.f64 1 (+.f64 2 (pow.f64 x 2))))
(-.f64 (/.f64 2 (+.f64 2 (pow.f64 x 2))) 0)
(/.f64 2 (+.f64 2 (pow.f64 x 2)))
(*.f64 2 (/.f64 1 (+.f64 2 (pow.f64 x 2))))
(+.f64 (/.f64 1 (+.f64 2 (pow.f64 x 2))) (/.f64 1 (+.f64 2 (pow.f64 x 2))))
(*.f64 (+.f64 2 (pow.f64 x 2)) (/.f64 (/.f64 2 (+.f64 2 (pow.f64 x 2))) (+.f64 2 (pow.f64 x 2))))
(*.f64 (+.f64 2 (pow.f64 x 2)) (/.f64 2 (*.f64 (+.f64 2 (pow.f64 x 2)) (+.f64 2 (pow.f64 x 2)))))
(*.f64 (/.f64 2 (+.f64 2 (pow.f64 x 2))) 1)
(/.f64 2 (+.f64 2 (pow.f64 x 2)))
(*.f64 1 (/.f64 2 (+.f64 2 (pow.f64 x 2))))
(/.f64 2 (+.f64 2 (pow.f64 x 2)))
(*.f64 4 (/.f64 1/2 (+.f64 2 (pow.f64 x 2))))
(*.f64 (*.f64 2 (+.f64 2 (pow.f64 x 2))) (/.f64 (/.f64 1 (+.f64 2 (pow.f64 x 2))) (+.f64 2 (pow.f64 x 2))))
(*.f64 (+.f64 2 (pow.f64 x 2)) (/.f64 (/.f64 2 (+.f64 2 (pow.f64 x 2))) (+.f64 2 (pow.f64 x 2))))
(*.f64 (+.f64 2 (pow.f64 x 2)) (/.f64 2 (*.f64 (+.f64 2 (pow.f64 x 2)) (+.f64 2 (pow.f64 x 2)))))
(*.f64 (/.f64 4 (+.f64 2 (pow.f64 x 2))) 1/2)
(*.f64 1/2 (/.f64 4 (+.f64 2 (pow.f64 x 2))))
(*.f64 (*.f64 (+.f64 2 (pow.f64 x 2)) 1/2) (/.f64 (/.f64 4 (+.f64 2 (pow.f64 x 2))) (+.f64 2 (pow.f64 x 2))))
(*.f64 (+.f64 2 (pow.f64 x 2)) (*.f64 1/2 (/.f64 (/.f64 4 (+.f64 2 (pow.f64 x 2))) (+.f64 2 (pow.f64 x 2)))))
(*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 x 2)) (/.f64 4 (*.f64 (+.f64 2 (pow.f64 x 2)) (+.f64 2 (pow.f64 x 2))))))
(*.f64 (+.f64 2 (pow.f64 x 2)) (*.f64 1/2 (/.f64 4 (*.f64 (+.f64 2 (pow.f64 x 2)) (+.f64 2 (pow.f64 x 2))))))
(*.f64 (*.f64 (+.f64 2 (pow.f64 x 2)) 1/2) (/.f64 4 (*.f64 (+.f64 2 (pow.f64 x 2)) (+.f64 2 (pow.f64 x 2)))))
(*.f64 (*.f64 2 (/.f64 4 (+.f64 2 (pow.f64 x 2)))) 1/4)
(*.f64 1/2 (/.f64 4 (+.f64 2 (pow.f64 x 2))))
(*.f64 1/2 (/.f64 4 (+.f64 2 (pow.f64 x 2))))
(*.f64 (/.f64 1 (+.f64 2 (pow.f64 x 2))) 2)
(+.f64 (/.f64 1 (+.f64 2 (pow.f64 x 2))) (/.f64 1 (+.f64 2 (pow.f64 x 2))))
(*.f64 2 (/.f64 1 (+.f64 2 (pow.f64 x 2))))
(*.f64 (*.f64 (+.f64 2 (pow.f64 x 2)) 1/4) (/.f64 (/.f64 8 (+.f64 2 (pow.f64 x 2))) (+.f64 2 (pow.f64 x 2))))
(*.f64 (+.f64 2 (pow.f64 x 2)) (*.f64 1/4 (/.f64 8 (*.f64 (+.f64 2 (pow.f64 x 2)) (+.f64 2 (pow.f64 x 2))))))
(*.f64 (*.f64 1/4 (+.f64 2 (pow.f64 x 2))) (/.f64 8 (*.f64 (+.f64 2 (pow.f64 x 2)) (+.f64 2 (pow.f64 x 2)))))
(*.f64 (*.f64 1/4 (+.f64 2 (pow.f64 x 2))) (/.f64 (/.f64 8 (+.f64 2 (pow.f64 x 2))) (+.f64 2 (pow.f64 x 2))))
(*.f64 1/4 (*.f64 (+.f64 2 (pow.f64 x 2)) (/.f64 8 (*.f64 (+.f64 2 (pow.f64 x 2)) (+.f64 2 (pow.f64 x 2))))))
(*.f64 1/4 (*.f64 2 (/.f64 4 (+.f64 2 (pow.f64 x 2)))))
(*.f64 1/2 (/.f64 4 (+.f64 2 (pow.f64 x 2))))
(*.f64 1/4 (/.f64 8 (+.f64 2 (pow.f64 x 2))))
(*.f64 (/.f64 8 (+.f64 2 (pow.f64 x 2))) 1/4)
(*.f64 1/4 (/.f64 8 (+.f64 2 (pow.f64 x 2))))
(*.f64 (/.f64 1/2 (+.f64 2 (pow.f64 x 2))) 4)
(*.f64 4 (/.f64 1/2 (+.f64 2 (pow.f64 x 2))))
(*.f64 (/.f64 (/.f64 8 (+.f64 2 (pow.f64 x 2))) (+.f64 2 (pow.f64 x 2))) (*.f64 (+.f64 2 (pow.f64 x 2)) 1/4))
(*.f64 (+.f64 2 (pow.f64 x 2)) (*.f64 1/4 (/.f64 8 (*.f64 (+.f64 2 (pow.f64 x 2)) (+.f64 2 (pow.f64 x 2))))))
(*.f64 (*.f64 1/4 (+.f64 2 (pow.f64 x 2))) (/.f64 8 (*.f64 (+.f64 2 (pow.f64 x 2)) (+.f64 2 (pow.f64 x 2)))))
(*.f64 (*.f64 1/4 (+.f64 2 (pow.f64 x 2))) (/.f64 (/.f64 8 (+.f64 2 (pow.f64 x 2))) (+.f64 2 (pow.f64 x 2))))
(*.f64 1/4 (*.f64 (+.f64 2 (pow.f64 x 2)) (/.f64 8 (*.f64 (+.f64 2 (pow.f64 x 2)) (+.f64 2 (pow.f64 x 2))))))
(*.f64 (/.f64 (/.f64 4 (+.f64 2 (pow.f64 x 2))) (+.f64 2 (pow.f64 x 2))) (*.f64 (+.f64 2 (pow.f64 x 2)) 1/2))
(*.f64 (+.f64 2 (pow.f64 x 2)) (*.f64 1/2 (/.f64 (/.f64 4 (+.f64 2 (pow.f64 x 2))) (+.f64 2 (pow.f64 x 2)))))
(*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 x 2)) (/.f64 4 (*.f64 (+.f64 2 (pow.f64 x 2)) (+.f64 2 (pow.f64 x 2))))))
(*.f64 (+.f64 2 (pow.f64 x 2)) (*.f64 1/2 (/.f64 4 (*.f64 (+.f64 2 (pow.f64 x 2)) (+.f64 2 (pow.f64 x 2))))))
(*.f64 (*.f64 (+.f64 2 (pow.f64 x 2)) 1/2) (/.f64 4 (*.f64 (+.f64 2 (pow.f64 x 2)) (+.f64 2 (pow.f64 x 2)))))
(*.f64 (/.f64 (/.f64 2 (+.f64 2 (pow.f64 x 2))) (+.f64 2 (pow.f64 x 2))) (+.f64 2 (pow.f64 x 2)))
(*.f64 (+.f64 2 (pow.f64 x 2)) (/.f64 (/.f64 2 (+.f64 2 (pow.f64 x 2))) (+.f64 2 (pow.f64 x 2))))
(*.f64 (+.f64 2 (pow.f64 x 2)) (/.f64 2 (*.f64 (+.f64 2 (pow.f64 x 2)) (+.f64 2 (pow.f64 x 2)))))
(*.f64 (/.f64 (/.f64 1 (+.f64 2 (pow.f64 x 2))) (+.f64 2 (pow.f64 x 2))) (*.f64 2 (+.f64 2 (pow.f64 x 2))))
(*.f64 (+.f64 2 (pow.f64 x 2)) (/.f64 (/.f64 2 (+.f64 2 (pow.f64 x 2))) (+.f64 2 (pow.f64 x 2))))
(*.f64 (+.f64 2 (pow.f64 x 2)) (/.f64 2 (*.f64 (+.f64 2 (pow.f64 x 2)) (+.f64 2 (pow.f64 x 2)))))
(neg.f64 (/.f64 -2 (+.f64 2 (pow.f64 x 2))))
(/.f64 2 (+.f64 2 (pow.f64 x 2)))

eval21.0ms (0.5%)

Compiler

Compiled 840 to 725 computations (13.7% saved)

prune8.0ms (0.2%)

Pruning

5 alts after pruning (2 fresh and 3 done)

PrunedKeptTotal
New51152
Fresh011
Picked011
Done022
Total51556
Error
0.0b
Counts
56 → 5
Alt Table
Click to see full alt table
StatusErrorProgram
46.6b
(/.f64 2 (pow.f64 x 2))
0.0b
(/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
16.0b
(/.f64 2 (+.f64 2 (pow.f64 x 2)))
32.2b
(+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))
31.7b
1
Compiler

Compiled 33 to 28 computations (15.2% saved)

localize5.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.3b
(/.f64 2 (pow.f64 x 2))
Compiler

Compiled 11 to 8 computations (27.3% saved)

series1.0ms (0%)

Counts
1 → 0
Calls

3 calls:

TimeVariablePointExpression
0.0ms
x
@0
(/.f64 2 (pow.f64 x 2))
0.0ms
x
@inf
(/.f64 2 (pow.f64 x 2))
0.0ms
x
@-inf
(/.f64 2 (pow.f64 x 2))

rewrite76.0ms (1.8%)

Algorithm
batch-egg-rewrite
Rules
1774×bool.json-1
1774×bool.json-2
1346×bool.json-3
862×rational.json-simplify-35
734×rational.json-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0613
16313
220213
346213
4100113
5241613
6646913
Stop Event
node limit
Counts
1 → 25
Calls
Call 1
Inputs
(/.f64 2 (pow.f64 x 2))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 2 (pow.f64 x 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 2 (pow.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 (pow.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 2 (pow.f64 x 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 1 (pow.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 x 2) (/.f64 (/.f64 2 (pow.f64 x 2)) (pow.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 (pow.f64 x 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 2 (pow.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 1/2 (pow.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (pow.f64 x 2)) (/.f64 (/.f64 1 (pow.f64 x 2)) (pow.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 4 (pow.f64 x 2)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 x 2) 1/2) (/.f64 (/.f64 4 (pow.f64 x 2)) (pow.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 2 (pow.f64 x 2)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (/.f64 4 (pow.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 x 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 x 2) 1/4) (/.f64 (/.f64 8 (pow.f64 x 2)) (pow.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (/.f64 2 (pow.f64 x 2)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (/.f64 8 (pow.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 8 (pow.f64 x 2)) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (pow.f64 x 2)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 8 (pow.f64 x 2)) (pow.f64 x 2)) (*.f64 (pow.f64 x 2) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 4 (pow.f64 x 2)) (pow.f64 x 2)) (*.f64 (pow.f64 x 2) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 2 (pow.f64 x 2)) (pow.f64 x 2)) (pow.f64 x 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 1 (pow.f64 x 2)) (pow.f64 x 2)) (*.f64 2 (pow.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 -2 (pow.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (/.f64 2 (pow.f64 x 2))))))) (#(struct:change #<rule egg-rr> (2) ((x and (/.f64 2 (pow.f64 x 2)) (/.f64 2 (pow.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x or (/.f64 2 (pow.f64 x 2)) (/.f64 2 (pow.f64 x 2)))))))

simplify79.0ms (1.9%)

Algorithm
egg-herbie
Rules
1872×rational.json-simplify-35
1306×rational.json-simplify-2
1174×rational.json-simplify-59
896×rational.json-simplify-51
830×rational.json-simplify-53
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
052631
195631
2191631
3400631
41101631
52916595
66469595
Stop Event
node limit
Counts
25 → 32
Calls
Call 1
Inputs
(+.f64 (/.f64 2 (pow.f64 x 2)) 0)
(+.f64 0 (/.f64 2 (pow.f64 x 2)))
(+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 (pow.f64 x 2)))
(-.f64 (/.f64 2 (pow.f64 x 2)) 0)
(*.f64 2 (/.f64 1 (pow.f64 x 2)))
(*.f64 (pow.f64 x 2) (/.f64 (/.f64 2 (pow.f64 x 2)) (pow.f64 x 2)))
(*.f64 (/.f64 2 (pow.f64 x 2)) 1)
(*.f64 1 (/.f64 2 (pow.f64 x 2)))
(*.f64 4 (/.f64 1/2 (pow.f64 x 2)))
(*.f64 (*.f64 2 (pow.f64 x 2)) (/.f64 (/.f64 1 (pow.f64 x 2)) (pow.f64 x 2)))
(*.f64 (/.f64 4 (pow.f64 x 2)) 1/2)
(*.f64 (*.f64 (pow.f64 x 2) 1/2) (/.f64 (/.f64 4 (pow.f64 x 2)) (pow.f64 x 2)))
(*.f64 (*.f64 (/.f64 2 (pow.f64 x 2)) 4) 1/4)
(*.f64 1/2 (/.f64 4 (pow.f64 x 2)))
(*.f64 (/.f64 1 (pow.f64 x 2)) 2)
(*.f64 (*.f64 (pow.f64 x 2) 1/4) (/.f64 (/.f64 8 (pow.f64 x 2)) (pow.f64 x 2)))
(*.f64 1/4 (*.f64 (/.f64 2 (pow.f64 x 2)) 4))
(*.f64 1/4 (/.f64 8 (pow.f64 x 2)))
(*.f64 (/.f64 8 (pow.f64 x 2)) 1/4)
(*.f64 (/.f64 1/2 (pow.f64 x 2)) 4)
(*.f64 (/.f64 (/.f64 8 (pow.f64 x 2)) (pow.f64 x 2)) (*.f64 (pow.f64 x 2) 1/4))
(*.f64 (/.f64 (/.f64 4 (pow.f64 x 2)) (pow.f64 x 2)) (*.f64 (pow.f64 x 2) 1/2))
(*.f64 (/.f64 (/.f64 2 (pow.f64 x 2)) (pow.f64 x 2)) (pow.f64 x 2))
(*.f64 (/.f64 (/.f64 1 (pow.f64 x 2)) (pow.f64 x 2)) (*.f64 2 (pow.f64 x 2)))
(neg.f64 (/.f64 -2 (pow.f64 x 2)))
Outputs
(+.f64 (/.f64 2 (pow.f64 x 2)) 0)
(/.f64 2 (pow.f64 x 2))
(+.f64 0 (/.f64 2 (pow.f64 x 2)))
(/.f64 2 (pow.f64 x 2))
(+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 (pow.f64 x 2)))
(*.f64 2 (/.f64 1 (pow.f64 x 2)))
(-.f64 (/.f64 2 (pow.f64 x 2)) 0)
(/.f64 2 (pow.f64 x 2))
(*.f64 2 (/.f64 1 (pow.f64 x 2)))
(+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 (pow.f64 x 2)))
(*.f64 (pow.f64 x 2) (/.f64 (/.f64 2 (pow.f64 x 2)) (pow.f64 x 2)))
(*.f64 (pow.f64 x 2) (/.f64 2 (*.f64 (pow.f64 x 2) (pow.f64 x 2))))
(*.f64 (/.f64 2 (pow.f64 x 2)) 1)
(/.f64 2 (pow.f64 x 2))
(*.f64 1 (/.f64 2 (pow.f64 x 2)))
(/.f64 2 (pow.f64 x 2))
(*.f64 4 (/.f64 1/2 (pow.f64 x 2)))
(*.f64 (*.f64 2 (pow.f64 x 2)) (/.f64 (/.f64 1 (pow.f64 x 2)) (pow.f64 x 2)))
(*.f64 (pow.f64 x 2) (/.f64 2 (*.f64 (pow.f64 x 2) (pow.f64 x 2))))
(*.f64 (/.f64 4 (pow.f64 x 2)) 1/2)
(*.f64 1/2 (/.f64 4 (pow.f64 x 2)))
(*.f64 (*.f64 (pow.f64 x 2) 1/2) (/.f64 (/.f64 4 (pow.f64 x 2)) (pow.f64 x 2)))
(*.f64 (*.f64 (pow.f64 x 2) 1/2) (/.f64 4 (*.f64 (pow.f64 x 2) (pow.f64 x 2))))
(*.f64 1/2 (*.f64 (pow.f64 x 2) (/.f64 4 (*.f64 (pow.f64 x 2) (pow.f64 x 2)))))
(*.f64 (pow.f64 x 2) (*.f64 1/2 (/.f64 4 (*.f64 (pow.f64 x 2) (pow.f64 x 2)))))
(*.f64 (*.f64 (/.f64 2 (pow.f64 x 2)) 4) 1/4)
(/.f64 2 (pow.f64 x 2))
(*.f64 1/2 (/.f64 4 (pow.f64 x 2)))
(*.f64 (/.f64 1 (pow.f64 x 2)) 2)
(+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 (pow.f64 x 2)))
(*.f64 2 (/.f64 1 (pow.f64 x 2)))
(*.f64 (*.f64 (pow.f64 x 2) 1/4) (/.f64 (/.f64 8 (pow.f64 x 2)) (pow.f64 x 2)))
(*.f64 (*.f64 (pow.f64 x 2) 1/4) (/.f64 8 (*.f64 (pow.f64 x 2) (pow.f64 x 2))))
(*.f64 (pow.f64 x 2) (*.f64 1/4 (/.f64 8 (*.f64 (pow.f64 x 2) (pow.f64 x 2)))))
(*.f64 1/4 (*.f64 (/.f64 2 (pow.f64 x 2)) 4))
(/.f64 2 (pow.f64 x 2))
(*.f64 1/4 (/.f64 8 (pow.f64 x 2)))
(*.f64 (/.f64 8 (pow.f64 x 2)) 1/4)
(*.f64 1/4 (/.f64 8 (pow.f64 x 2)))
(*.f64 (/.f64 1/2 (pow.f64 x 2)) 4)
(*.f64 4 (/.f64 1/2 (pow.f64 x 2)))
(*.f64 (/.f64 (/.f64 8 (pow.f64 x 2)) (pow.f64 x 2)) (*.f64 (pow.f64 x 2) 1/4))
(*.f64 (*.f64 (pow.f64 x 2) 1/4) (/.f64 8 (*.f64 (pow.f64 x 2) (pow.f64 x 2))))
(*.f64 (pow.f64 x 2) (*.f64 1/4 (/.f64 8 (*.f64 (pow.f64 x 2) (pow.f64 x 2)))))
(*.f64 (/.f64 (/.f64 4 (pow.f64 x 2)) (pow.f64 x 2)) (*.f64 (pow.f64 x 2) 1/2))
(*.f64 (*.f64 (pow.f64 x 2) 1/2) (/.f64 4 (*.f64 (pow.f64 x 2) (pow.f64 x 2))))
(*.f64 1/2 (*.f64 (pow.f64 x 2) (/.f64 4 (*.f64 (pow.f64 x 2) (pow.f64 x 2)))))
(*.f64 (pow.f64 x 2) (*.f64 1/2 (/.f64 4 (*.f64 (pow.f64 x 2) (pow.f64 x 2)))))
(*.f64 (/.f64 (/.f64 2 (pow.f64 x 2)) (pow.f64 x 2)) (pow.f64 x 2))
(*.f64 (pow.f64 x 2) (/.f64 2 (*.f64 (pow.f64 x 2) (pow.f64 x 2))))
(*.f64 (/.f64 (/.f64 1 (pow.f64 x 2)) (pow.f64 x 2)) (*.f64 2 (pow.f64 x 2)))
(*.f64 (pow.f64 x 2) (/.f64 2 (*.f64 (pow.f64 x 2) (pow.f64 x 2))))
(neg.f64 (/.f64 -2 (pow.f64 x 2)))
(/.f64 2 (pow.f64 x 2))

eval10.0ms (0.2%)

Compiler

Compiled 336 to 275 computations (18.2% saved)

prune5.0ms (0.1%)

Pruning

5 alts after pruning (1 fresh and 4 done)

PrunedKeptTotal
New32032
Fresh011
Picked011
Done033
Total32537
Error
0.0b
Counts
37 → 5
Alt Table
Click to see full alt table
StatusErrorProgram
46.6b
(/.f64 2 (pow.f64 x 2))
0.0b
(/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
16.0b
(/.f64 2 (+.f64 2 (pow.f64 x 2)))
32.2b
(+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))
31.7b
1
Compiler

Compiled 33 to 28 computations (15.2% saved)

eval0.0ms (0%)

Compiler

Compiled 1 to 1 computations (0% saved)

prune3.0ms (0.1%)

Pruning

5 alts after pruning (1 fresh and 4 done)

PrunedKeptTotal
New000
Fresh011
Picked000
Done044
Total055
Error
0.0b
Counts
5 → 5
Alt Table
Click to see full alt table
StatusErrorProgram
46.6b
(/.f64 2 (pow.f64 x 2))
0.0b
(/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
16.0b
(/.f64 2 (+.f64 2 (pow.f64 x 2)))
32.2b
(+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))
31.7b
1
Compiler

Compiled 33 to 28 computations (15.2% saved)

regimes9.0ms (0.2%)

Counts
5 → 1
Calls
Call 1
Inputs
1
(/.f64 2 (pow.f64 x 2))
(+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))
(/.f64 2 (+.f64 2 (pow.f64 x 2)))
(/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
Outputs
(/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
Calls

3 calls:

4.0ms
x
2.0ms
(+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
2.0ms
(/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
Results
ErrorSegmentsBranch
0.0b1x
0.0b1(/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
0.0b1(+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
Compiler

Compiled 47 to 37 computations (21.3% saved)

regimes5.0ms (0.1%)

Counts
4 → 1
Calls
Call 1
Inputs
1
(/.f64 2 (pow.f64 x 2))
(+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))
(/.f64 2 (+.f64 2 (pow.f64 x 2)))
Outputs
(/.f64 2 (+.f64 2 (pow.f64 x 2)))
Calls

1 calls:

4.0ms
x
Results
ErrorSegmentsBranch
16.0b1x
Compiler

Compiled 23 to 19 computations (17.4% saved)

regimes10.0ms (0.2%)

Counts
3 → 3
Calls
Call 1
Inputs
1
(/.f64 2 (pow.f64 x 2))
(+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))
Outputs
(/.f64 2 (pow.f64 x 2))
(+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))
(/.f64 2 (pow.f64 x 2))
Calls

1 calls:

9.0ms
x
Results
ErrorSegmentsBranch
16.0b3x
Compiler

Compiled 16 to 13 computations (18.8% saved)

bsearch39.0ms (0.9%)

Algorithm
binary-search
Steps
TimeLeftRight
17.0ms
0.0492245048882362
756320.9003485049
22.0ms
-1400.8732994223992
-4.396233961980536e-22
Results
35.0ms320×body256valid
Compiler

Compiled 333 to 290 computations (12.9% saved)

regimes9.0ms (0.2%)

Accuracy

Total -46.2b remaining (-287.2%)

Threshold costs -46.2b (-287.2%)

Counts
2 → 3
Calls
Call 1
Inputs
1
(/.f64 2 (pow.f64 x 2))
Outputs
(/.f64 2 (pow.f64 x 2))
1
(/.f64 2 (pow.f64 x 2))
Calls

1 calls:

9.0ms
x
Results
ErrorSegmentsBranch
16.1b3x
Compiler

Compiled 9 to 7 computations (22.2% saved)

bsearch37.0ms (0.9%)

Algorithm
binary-search
Steps
TimeLeftRight
17.0ms
0.0492245048882362
756320.9003485049
20.0ms
-1400.8732994223992
-4.396233961980536e-22
Results
34.0ms320×body256valid
Compiler

Compiled 213 to 190 computations (10.8% saved)

simplify4.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
033153
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(/.f64 2 (+.f64 2 (pow.f64 x 2)))
(if (<=.f64 x -5494391545392005/4503599627370496) (/.f64 2 (pow.f64 x 2)) (if (<=.f64 x 5/4) (+.f64 1 (*.f64 -1/2 (pow.f64 x 2))) (/.f64 2 (pow.f64 x 2))))
(if (<=.f64 x -799388933858263/562949953421312) (/.f64 2 (pow.f64 x 2)) (if (<=.f64 x 3152519739159347/2251799813685248) 1 (/.f64 2 (pow.f64 x 2))))
1
Outputs
(/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(/.f64 2 (+.f64 2 (pow.f64 x 2)))
(if (<=.f64 x -5494391545392005/4503599627370496) (/.f64 2 (pow.f64 x 2)) (if (<=.f64 x 5/4) (+.f64 1 (*.f64 -1/2 (pow.f64 x 2))) (/.f64 2 (pow.f64 x 2))))
(if (<=.f64 x -799388933858263/562949953421312) (/.f64 2 (pow.f64 x 2)) (if (<=.f64 x 3152519739159347/2251799813685248) 1 (/.f64 2 (pow.f64 x 2))))
1
Compiler

Compiled 65 to 53 computations (18.5% saved)

soundness0.0ms (0%)

end1.9s (45.5%)

Compiler

Compiled 61 to 49 computations (19.7% saved)

Profiling

Loading profile data...