Details

Time bar (total: 4.2s)

analyze5.0ms (0.1%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%100%0%0%0%0%0
0%0%100%0%0%0%0%1
0%0%100%0%0%0%0%2
0%0%50%0%0%50%0%3
50%25%25%0%0%50%0%4
75%37.5%12.5%0%0%50%0%5
87.5%43.7%6.2%0%0%50%0%6
93.8%46.9%3.1%0%0%50%0%7
96.9%48.4%1.6%0%0%50%0%8
98.4%49.2%0.8%0%0%50%0%9
99.2%49.6%0.4%0%0%50%0%10
99.6%49.8%0.2%0%0%50%0%11
99.8%49.9%0.1%0%0%50%0%12
Compiler

Compiled 15 to 14 computations (6.7% saved)

sample3.3s (78.3%)

Results
2.0s4142×body1024valid
585.0ms2074×body512valid
323.0ms429×body2048valid
309.0ms1611×body256valid
0.0msbody256invalid
Bogosity

preprocess8.0ms (0.2%)

Algorithm
egg-herbie
Rules
78×rational.json-simplify-2
76×rational.json-simplify-31
46×rational.json-simplify-9
42×rational.json-simplify-27
32×rational.json-simplify-41
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01541
12441
24041
36041
48841
511541
614841
717341
820441
921241
011
Stop Event
saturated
saturated
Calls
Call 1
Inputs
0
Outputs
0
Call 2
Inputs
(-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2)))))
Outputs
(-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2)))))
(+.f64 (/.f64 (PI.f64) 2) (*.f64 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2))) -2))
Compiler

Compiled 15 to 14 computations (6.7% saved)

simplify7.0ms (0.2%)

Algorithm
egg-herbie
Rules
78×rational.json-simplify-2
76×rational.json-simplify-31
46×rational.json-simplify-9
42×rational.json-simplify-27
32×rational.json-simplify-41
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01541
12441
24041
36041
48841
511541
614841
717341
820441
921241
Stop Event
saturated
Counts
1 → 2
Calls
Call 1
Inputs
(-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2)))))
Outputs
(-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2)))))
(+.f64 (/.f64 (PI.f64) 2) (*.f64 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2))) -2))

eval1.0ms (0%)

Compiler

Compiled 27 to 24 computations (11.1% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New112
Fresh011
Picked000
Done000
Total123
Error
59.3b
Counts
3 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
59.3b
(-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2)))))
Compiler

Compiled 14 to 13 computations (7.1% saved)

localize35.0ms (0.8%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(sqrt.f64 (/.f64 (-.f64 1 x) 2))
1.0b
(asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2)))
6.2b
(-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2)))))
Compiler

Compiled 51 to 42 computations (17.6% saved)

series3.0ms (0.1%)

Counts
3 → 28
Calls

9 calls:

TimeVariablePointExpression
1.0ms
x
@0
(-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2)))))
1.0ms
x
@inf
(sqrt.f64 (/.f64 (-.f64 1 x) 2))
0.0ms
x
@inf
(-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2)))))
0.0ms
x
@0
(sqrt.f64 (/.f64 (-.f64 1 x) 2))
0.0ms
x
@-inf
(-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2)))))

rewrite12.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
82×rational.json-simplify-2
70×bool.json-1
60×rational.json-1
60×rational.json-2
54×rational.json-simplify-27
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01579
17279
214279
320779
425779
528579
629279
729979
Stop Event
saturated
Counts
3 → 19
Calls
Call 1
Inputs
(-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2)))))
(asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2)))
(sqrt.f64 (/.f64 (-.f64 1 x) 2))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (PI.f64) 2) (*.f64 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2))) -2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (/.f64 (PI.f64) 2) (*.f64 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2))) -2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (+.f64 (/.f64 (PI.f64) 2) (*.f64 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2))) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2))) -2) (/.f64 (PI.f64) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (/.f64 (PI.f64) 2) (*.f64 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2))) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (/.f64 (PI.f64) 2) (*.f64 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2))) -2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 2 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2)))) (/.f64 (PI.f64) 2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (*.f64 2 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2)))) (/.f64 (PI.f64) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (*.f64 2 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2)))) (/.f64 (PI.f64) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (/.f64 (PI.f64) 2) (*.f64 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2))) -2)) (+.f64 (/.f64 (PI.f64) 2) (*.f64 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2))) -2)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2))) -1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x or (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2))) (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (/.f64 (-.f64 1 x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (/.f64 (-.f64 1 x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x or (sqrt.f64 (/.f64 (-.f64 1 x) 2)) (sqrt.f64 (/.f64 (-.f64 1 x) 2)))))))

simplify40.0ms (1%)

Algorithm
egg-herbie
Rules
204×rational.json-simplify-2
164×rational.json-simplify-31
116×rational.json-simplify-1
70×rational.json-simplify-9
64×rational.json-simplify-27
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0701645
11181633
21751633
32381633
42961633
53541633
64131633
74601633
85101633
95231633
Stop Event
saturated
Counts
47 → 37
Calls
Call 1
Inputs
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (*.f64 -1 x)))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (*.f64 -1 x)))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (*.f64 -1 x)))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (*.f64 -1 x)))))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (*.f64 -1 x)))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (*.f64 -1 x)))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (*.f64 -1 x)))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (*.f64 -1 x)))))
(sqrt.f64 1/2)
(+.f64 (sqrt.f64 1/2) (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))
(+.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)) (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2)))))
(+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)) (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))))))
(+.f64 (/.f64 (PI.f64) 2) (*.f64 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2))) -2))
(+.f64 (+.f64 (/.f64 (PI.f64) 2) (*.f64 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2))) -2)) 0)
(+.f64 0 (+.f64 (/.f64 (PI.f64) 2) (*.f64 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2))) -2)))
(+.f64 (*.f64 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2))) -2) (/.f64 (PI.f64) 2))
(*.f64 1 (+.f64 (/.f64 (PI.f64) 2) (*.f64 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2))) -2)))
(*.f64 (+.f64 (/.f64 (PI.f64) 2) (*.f64 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2))) -2)) 1)
(*.f64 (-.f64 (*.f64 2 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2)))) (/.f64 (PI.f64) 2)) -1)
(*.f64 -1 (-.f64 (*.f64 2 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2)))) (/.f64 (PI.f64) 2)))
(neg.f64 (-.f64 (*.f64 2 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2)))) (/.f64 (PI.f64) 2)))
(+.f64 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2))) 0)
(+.f64 0 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2))))
(*.f64 1 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2))))
(*.f64 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2))) 1)
(*.f64 -1 (*.f64 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2))) -1))
(*.f64 (*.f64 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2))) -1) -1)
(+.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2)) 0)
(+.f64 0 (sqrt.f64 (/.f64 (-.f64 1 x) 2)))
(*.f64 1 (sqrt.f64 (/.f64 (-.f64 1 x) 2)))
(*.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2)) 1)
Outputs
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (*.f64 -1 x)))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (*.f64 -1 x)))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (*.f64 -1 x)))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (*.f64 -1 x)))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (*.f64 -1 x)))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (*.f64 -1 x)))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (*.f64 -1 x)))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 1 (*.f64 -1 x)))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (-.f64 1 x))))
(sqrt.f64 1/2)
(+.f64 (sqrt.f64 1/2) (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))
(+.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 1/2) (*.f64 -1/2 x)))
(*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2)))
(+.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)) (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2)))))
(+.f64 (sqrt.f64 1/2) (+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 -1/2 x)) (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2)))))
(+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))) (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))))
(+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)) (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))))))
(+.f64 (+.f64 (sqrt.f64 1/2) (+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 -1/2 x)) (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))))) (*.f64 (sqrt.f64 1/2) (*.f64 -1/16 (pow.f64 x 3))))
(+.f64 (+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))) (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2)))) (*.f64 (sqrt.f64 1/2) (*.f64 -1/16 (pow.f64 x 3))))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x -1/2)) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/16 (pow.f64 x 3))))))
(+.f64 (/.f64 (PI.f64) 2) (*.f64 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2))) -2))
(+.f64 (+.f64 (/.f64 (PI.f64) 2) (*.f64 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2))) -2)) 0)
(+.f64 (*.f64 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2))) -2) (+.f64 (/.f64 (PI.f64) 2) 0))
(+.f64 (/.f64 (PI.f64) 2) (+.f64 (*.f64 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2))) -2) 0))
(+.f64 (/.f64 (PI.f64) 2) (+.f64 0 (*.f64 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2))) -2)))
(+.f64 0 (+.f64 (/.f64 (PI.f64) 2) (*.f64 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2))) -2)))
(+.f64 (+.f64 (/.f64 (PI.f64) 2) (*.f64 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2))) -2)) 0)
(+.f64 (*.f64 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2))) -2) (+.f64 (/.f64 (PI.f64) 2) 0))
(+.f64 (/.f64 (PI.f64) 2) (+.f64 (*.f64 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2))) -2) 0))
(+.f64 (/.f64 (PI.f64) 2) (+.f64 0 (*.f64 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2))) -2)))
(+.f64 (*.f64 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2))) -2) (/.f64 (PI.f64) 2))
(+.f64 (/.f64 (PI.f64) 2) (*.f64 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2))) -2))
(*.f64 1 (+.f64 (/.f64 (PI.f64) 2) (*.f64 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2))) -2)))
(+.f64 (/.f64 (PI.f64) 2) (*.f64 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2))) -2))
(*.f64 (+.f64 (/.f64 (PI.f64) 2) (*.f64 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2))) -2)) 1)
(+.f64 (/.f64 (PI.f64) 2) (*.f64 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2))) -2))
(*.f64 (-.f64 (*.f64 2 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2)))) (/.f64 (PI.f64) 2)) -1)
(+.f64 (/.f64 (PI.f64) 2) (*.f64 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2))) -2))
(*.f64 -1 (-.f64 (*.f64 2 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2)))) (/.f64 (PI.f64) 2)))
(+.f64 (/.f64 (PI.f64) 2) (*.f64 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2))) -2))
(neg.f64 (-.f64 (*.f64 2 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2)))) (/.f64 (PI.f64) 2)))
(+.f64 (/.f64 (PI.f64) 2) (*.f64 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2))) -2))
(+.f64 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2))) 0)
(+.f64 0 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2))))
(+.f64 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2))) 0)
(*.f64 1 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2))))
(*.f64 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2))) 1)
(*.f64 1 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2))))
(*.f64 -1 (*.f64 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2))) -1))
(*.f64 1 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2))))
(*.f64 (*.f64 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2))) -1) -1)
(*.f64 1 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2))))
(+.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2)) 0)
(+.f64 0 (sqrt.f64 (/.f64 (-.f64 1 x) 2)))
(+.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2)) 0)
(*.f64 1 (sqrt.f64 (/.f64 (-.f64 1 x) 2)))
(*.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2)) 1)
(*.f64 1 (sqrt.f64 (/.f64 (-.f64 1 x) 2)))

eval14.0ms (0.3%)

Compiler

Compiled 654 to 571 computations (12.7% saved)

prune7.0ms (0.2%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New34337
Fresh000
Picked011
Done000
Total34438
Error
59.3b
Counts
38 → 4
Alt Table
Click to see full alt table
StatusErrorProgram
59.6b
(-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (+.f64 (+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))) (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2)))) (*.f64 (sqrt.f64 1/2) (*.f64 -1/16 (pow.f64 x 3)))))))
60.1b
(-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))))))
59.3b
(-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2)))))
61.5b
(-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (sqrt.f64 1/2))))
Compiler

Compiled 74 to 69 computations (6.8% saved)

localize18.0ms (0.4%)

Local error

Found 1 expressions with local error:

NewErrorProgram
1.0b
(asin.f64 (sqrt.f64 1/2))
Compiler

Compiled 26 to 24 computations (7.7% saved)

series0.0ms (0%)

Counts
1 → 0

rewrite7.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
20×bool.json-1
14×rational.json-1
14×rational.json-2
14×rational.json-simplify-2
14×rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
059
1259
2489
3549
Stop Event
saturated
Counts
1 → 4
Calls
Call 1
Inputs
(asin.f64 (sqrt.f64 1/2))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (asin.f64 (sqrt.f64 1/2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (asin.f64 (sqrt.f64 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (asin.f64 (sqrt.f64 1/2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (asin.f64 (sqrt.f64 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x or (asin.f64 (sqrt.f64 1/2)) (asin.f64 (sqrt.f64 1/2)))))))

simplify4.0ms (0.1%)

Algorithm
egg-herbie
Rules
rational.json-simplify-2
rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01260
11260
Stop Event
saturated
Counts
4 → 4
Calls
Call 1
Inputs
(+.f64 (asin.f64 (sqrt.f64 1/2)) 0)
(+.f64 0 (asin.f64 (sqrt.f64 1/2)))
(*.f64 (asin.f64 (sqrt.f64 1/2)) 1)
(*.f64 1 (asin.f64 (sqrt.f64 1/2)))
Outputs
(+.f64 (asin.f64 (sqrt.f64 1/2)) 0)
(+.f64 0 (asin.f64 (sqrt.f64 1/2)))
(+.f64 (asin.f64 (sqrt.f64 1/2)) 0)
(*.f64 (asin.f64 (sqrt.f64 1/2)) 1)
(*.f64 1 (asin.f64 (sqrt.f64 1/2)))
(*.f64 (asin.f64 (sqrt.f64 1/2)) 1)

localize32.0ms (0.8%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2)))
1.0b
(asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))))
6.1b
(-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))))))
Compiler

Compiled 63 to 54 computations (14.3% saved)

series3.0ms (0.1%)

Counts
3 → 36
Calls

9 calls:

TimeVariablePointExpression
1.0ms
x
@-inf
(-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))))))
0.0ms
x
@inf
(-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))))))
0.0ms
x
@0
(-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))))))
0.0ms
x
@inf
(*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2)))
0.0ms
x
@0
(*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2)))

rewrite10.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
66×rational.json-simplify-2
64×bool.json-1
50×rational.json-1
50×rational.json-2
46×rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01897
18397
213897
318197
420297
521897
622597
723297
Stop Event
saturated
Counts
3 → 17
Calls
Call 1
Inputs
(-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))))
(*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (PI.f64) 2) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2)))) -2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2)))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2)))) -2) (/.f64 (PI.f64) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))))) (/.f64 (PI.f64) 2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))))) (/.f64 (PI.f64) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))))) (/.f64 (PI.f64) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x or (-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2)))))) (-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2)))))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2)))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2)))) -1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x or (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2)))) (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2)))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))) (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))))))))

simplify312.0ms (7.5%)

Algorithm
egg-herbie
Rules
344×rational.json-simplify-31
300×rational.json-simplify-2
66×rational.json-simplify-1
62×rational.json-simplify-27
58×rational.json-simplify-9
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0601861
1961825
21321825
31831825
42471825
53071825
63791825
74711825
85621825
95961825
105971825
Stop Event
saturated
Counts
53 → 35
Calls
Call 1
Inputs
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (-.f64 1 (*.f64 1/2 x)) (sqrt.f64 1/2)))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (-.f64 1 (*.f64 1/2 x)) (sqrt.f64 1/2)))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (-.f64 1 (*.f64 1/2 x)) (sqrt.f64 1/2)))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (-.f64 1 (*.f64 1/2 x)) (sqrt.f64 1/2)))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x))))))
(asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))
(asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))
(asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))
(asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))
(asin.f64 (*.f64 (-.f64 1 (*.f64 1/2 x)) (sqrt.f64 1/2)))
(asin.f64 (*.f64 (-.f64 1 (*.f64 1/2 x)) (sqrt.f64 1/2)))
(asin.f64 (*.f64 (-.f64 1 (*.f64 1/2 x)) (sqrt.f64 1/2)))
(asin.f64 (*.f64 (-.f64 1 (*.f64 1/2 x)) (sqrt.f64 1/2)))
(asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x))))
(sqrt.f64 1/2)
(+.f64 (sqrt.f64 1/2) (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))
(+.f64 (sqrt.f64 1/2) (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))
(+.f64 (sqrt.f64 1/2) (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))
(*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x))
(+.f64 (sqrt.f64 1/2) (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))
(+.f64 (sqrt.f64 1/2) (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))
(+.f64 (sqrt.f64 1/2) (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))
(*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x))
(+.f64 (sqrt.f64 1/2) (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))
(+.f64 (sqrt.f64 1/2) (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))
(+.f64 (sqrt.f64 1/2) (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))
(+.f64 (/.f64 (PI.f64) 2) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2)))) -2))
(+.f64 (-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2)))))) 0)
(+.f64 0 (-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2)))))))
(+.f64 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2)))) -2) (/.f64 (PI.f64) 2))
(*.f64 1 (-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2)))))))
(*.f64 (-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2)))))) 1)
(*.f64 (-.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))))) (/.f64 (PI.f64) 2)) -1)
(*.f64 -1 (-.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))))) (/.f64 (PI.f64) 2)))
(neg.f64 (-.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))))) (/.f64 (PI.f64) 2)))
(+.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2)))) 0)
(+.f64 0 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2)))))
(*.f64 1 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2)))))
(*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2)))) 1)
(*.f64 -1 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2)))) -1))
(*.f64 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2)))) -1) -1)
(+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))) 0)
(+.f64 0 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))))
Outputs
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x))))))
(+.f64 (*.f64 1/2 (PI.f64)) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x)))) -2))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x))))))
(+.f64 (*.f64 1/2 (PI.f64)) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x)))) -2))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x))))))
(+.f64 (*.f64 1/2 (PI.f64)) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x)))) -2))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x))))))
(+.f64 (*.f64 1/2 (PI.f64)) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x)))) -2))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (-.f64 1 (*.f64 1/2 x)) (sqrt.f64 1/2)))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x))))))
(+.f64 (*.f64 1/2 (PI.f64)) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x)))) -2))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (-.f64 1 (*.f64 1/2 x)) (sqrt.f64 1/2)))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x))))))
(+.f64 (*.f64 1/2 (PI.f64)) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x)))) -2))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (-.f64 1 (*.f64 1/2 x)) (sqrt.f64 1/2)))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x))))))
(+.f64 (*.f64 1/2 (PI.f64)) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x)))) -2))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (-.f64 1 (*.f64 1/2 x)) (sqrt.f64 1/2)))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x))))))
(+.f64 (*.f64 1/2 (PI.f64)) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x)))) -2))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x))))))
(+.f64 (*.f64 1/2 (PI.f64)) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x)))) -2))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x))))))
(+.f64 (*.f64 1/2 (PI.f64)) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x)))) -2))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x))))))
(+.f64 (*.f64 1/2 (PI.f64)) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x)))) -2))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x))))))
(+.f64 (*.f64 1/2 (PI.f64)) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x)))) -2))
(asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))
(asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x))))
(asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))
(asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x))))
(asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))
(asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x))))
(asin.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)))
(asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x))))
(asin.f64 (*.f64 (-.f64 1 (*.f64 1/2 x)) (sqrt.f64 1/2)))
(asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x))))
(asin.f64 (*.f64 (-.f64 1 (*.f64 1/2 x)) (sqrt.f64 1/2)))
(asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x))))
(asin.f64 (*.f64 (-.f64 1 (*.f64 1/2 x)) (sqrt.f64 1/2)))
(asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x))))
(asin.f64 (*.f64 (-.f64 1 (*.f64 1/2 x)) (sqrt.f64 1/2)))
(asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x))))
(sqrt.f64 1/2)
(+.f64 (sqrt.f64 1/2) (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))
(+.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 1/2) (*.f64 -1/2 x)))
(*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x)))
(+.f64 (sqrt.f64 1/2) (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))
(+.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 1/2) (*.f64 -1/2 x)))
(*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x)))
(+.f64 (sqrt.f64 1/2) (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))
(+.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 1/2) (*.f64 -1/2 x)))
(*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x)))
(*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x))
(*.f64 (sqrt.f64 1/2) (*.f64 -1/2 x))
(+.f64 (sqrt.f64 1/2) (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))
(+.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 1/2) (*.f64 -1/2 x)))
(*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x)))
(+.f64 (sqrt.f64 1/2) (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))
(+.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 1/2) (*.f64 -1/2 x)))
(*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x)))
(+.f64 (sqrt.f64 1/2) (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))
(+.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 1/2) (*.f64 -1/2 x)))
(*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x)))
(*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x))
(*.f64 (sqrt.f64 1/2) (*.f64 -1/2 x))
(+.f64 (sqrt.f64 1/2) (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))
(+.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 1/2) (*.f64 -1/2 x)))
(*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x)))
(+.f64 (sqrt.f64 1/2) (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))
(+.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 1/2) (*.f64 -1/2 x)))
(*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x)))
(+.f64 (sqrt.f64 1/2) (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))
(+.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 1/2) (*.f64 -1/2 x)))
(*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x)))
(+.f64 (/.f64 (PI.f64) 2) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2)))) -2))
(+.f64 (/.f64 (PI.f64) 2) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x)))) -2))
(+.f64 (-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2)))))) 0)
(+.f64 (-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x)))))) 0)
(+.f64 (/.f64 (PI.f64) 2) (+.f64 0 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x)))) -2)))
(+.f64 0 (-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2)))))))
(+.f64 (-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x)))))) 0)
(+.f64 (/.f64 (PI.f64) 2) (+.f64 0 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x)))) -2)))
(+.f64 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2)))) -2) (/.f64 (PI.f64) 2))
(+.f64 (/.f64 (PI.f64) 2) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x)))) -2))
(*.f64 1 (-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2)))))))
(+.f64 (/.f64 (PI.f64) 2) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x)))) -2))
(*.f64 (-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2)))))) 1)
(+.f64 (/.f64 (PI.f64) 2) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x)))) -2))
(*.f64 (-.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))))) (/.f64 (PI.f64) 2)) -1)
(+.f64 (/.f64 (PI.f64) 2) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x)))) -2))
(*.f64 -1 (-.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))))) (/.f64 (PI.f64) 2)))
(+.f64 (/.f64 (PI.f64) 2) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x)))) -2))
(neg.f64 (-.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))))) (/.f64 (PI.f64) 2)))
(+.f64 (/.f64 (PI.f64) 2) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x)))) -2))
(+.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2)))) 0)
(+.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x)))) 0)
(+.f64 0 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2)))))
(+.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x)))) 0)
(*.f64 1 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2)))))
(*.f64 1 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x)))))
(*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2)))) 1)
(*.f64 1 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x)))))
(*.f64 -1 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2)))) -1))
(*.f64 1 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x)))))
(*.f64 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2)))) -1) -1)
(*.f64 1 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x)))))
(+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))) 0)
(+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x))) 0)
(+.f64 0 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))))
(+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x))) 0)

localize80.0ms (1.9%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (sqrt.f64 1/2) (*.f64 -1/16 (pow.f64 x 3)))
0.2b
(*.f64 (sqrt.f64 1/2) (pow.f64 x 2))
1.0b
(asin.f64 (+.f64 (+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))) (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2)))) (*.f64 (sqrt.f64 1/2) (*.f64 -1/16 (pow.f64 x 3)))))
6.2b
(-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (+.f64 (+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))) (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2)))) (*.f64 (sqrt.f64 1/2) (*.f64 -1/16 (pow.f64 x 3)))))))
Compiler

Compiled 196 to 170 computations (13.3% saved)

series7.0ms (0.2%)

Counts
4 → 36
Calls

12 calls:

TimeVariablePointExpression
2.0ms
x
@inf
(*.f64 (sqrt.f64 1/2) (*.f64 -1/16 (pow.f64 x 3)))
1.0ms
x
@inf
(*.f64 (sqrt.f64 1/2) (pow.f64 x 2))
1.0ms
x
@inf
(-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (+.f64 (+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))) (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2)))) (*.f64 (sqrt.f64 1/2) (*.f64 -1/16 (pow.f64 x 3)))))))
1.0ms
x
@0
(-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (+.f64 (+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))) (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2)))) (*.f64 (sqrt.f64 1/2) (*.f64 -1/16 (pow.f64 x 3)))))))
1.0ms
x
@-inf
(-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (+.f64 (+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))) (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2)))) (*.f64 (sqrt.f64 1/2) (*.f64 -1/16 (pow.f64 x 3)))))))

rewrite15.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
116×rational.json-simplify-2
104×bool.json-1
90×rational.json-simplify-1
84×rational.json-1
84×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
029226
1137226
2226226
3302226
4338226
5354226
6361226
7368226
Stop Event
saturated
Counts
4 → 19
Calls
Call 1
Inputs
(-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (+.f64 (+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))) (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2)))) (*.f64 (sqrt.f64 1/2) (*.f64 -1/16 (pow.f64 x 3)))))))
(asin.f64 (+.f64 (+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))) (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2)))) (*.f64 (sqrt.f64 1/2) (*.f64 -1/16 (pow.f64 x 3)))))
(*.f64 (sqrt.f64 1/2) (pow.f64 x 2))
(*.f64 (sqrt.f64 1/2) (*.f64 -1/16 (pow.f64 x 3)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (PI.f64) 2) (*.f64 (asin.f64 (+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (*.f64 -1/16 (pow.f64 x 3)))))) -2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (*.f64 -1/16 (pow.f64 x 3)))))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (*.f64 -1/16 (pow.f64 x 3)))))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (asin.f64 (+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (*.f64 -1/16 (pow.f64 x 3)))))) -2) (/.f64 (PI.f64) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (*.f64 -1/16 (pow.f64 x 3)))))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (*.f64 -1/16 (pow.f64 x 3)))))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 2 (asin.f64 (+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (*.f64 -1/16 (pow.f64 x 3))))))) (/.f64 (PI.f64) 2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (*.f64 2 (asin.f64 (+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (*.f64 -1/16 (pow.f64 x 3))))))) (/.f64 (PI.f64) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (*.f64 2 (asin.f64 (+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (*.f64 -1/16 (pow.f64 x 3))))))) (/.f64 (PI.f64) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x or (-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (*.f64 -1/16 (pow.f64 x 3)))))))) (-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (*.f64 -1/16 (pow.f64 x 3)))))))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (asin.f64 (+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (*.f64 -1/16 (pow.f64 x 3)))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (asin.f64 (+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (*.f64 -1/16 (pow.f64 x 3)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (asin.f64 (+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (*.f64 -1/16 (pow.f64 x 3)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (asin.f64 (+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (*.f64 -1/16 (pow.f64 x 3)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 (asin.f64 (+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (*.f64 -1/16 (pow.f64 x 3)))))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (asin.f64 (+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (*.f64 -1/16 (pow.f64 x 3)))))) -1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x or (asin.f64 (+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (*.f64 -1/16 (pow.f64 x 3)))))) (asin.f64 (+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (*.f64 -1/16 (pow.f64 x 3)))))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (sqrt.f64 1/2) (pow.f64 x 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 x 2)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 1/2) (*.f64 -1/16 (pow.f64 x 3))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sqrt.f64 1/2) (*.f64 -1/16 (pow.f64 x 3))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (sqrt.f64 1/2) (*.f64 -1/16 (pow.f64 x 3))) (*.f64 (sqrt.f64 1/2) (*.f64 -1/16 (pow.f64 x 3))))))))

simplify86.0ms (2.1%)

Algorithm
egg-herbie
Rules
226×rational.json-simplify-2
206×rational.json-simplify-31
86×rational.json-simplify-1
62×rational.json-simplify-27
58×rational.json-simplify-9
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0784085
11404085
21854085
32394085
42974085
53524085
64134085
74704085
85074085
95134085
Stop Event
saturated
Counts
55 → 38
Calls
Call 1
Inputs
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x))) (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x))) (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x))) (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x))) (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (+.f64 (*.f64 (-.f64 1 (*.f64 1/2 x)) (sqrt.f64 1/2)) (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (+.f64 (*.f64 (-.f64 1 (*.f64 1/2 x)) (sqrt.f64 1/2)) (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (+.f64 (*.f64 (-.f64 1 (*.f64 1/2 x)) (sqrt.f64 1/2)) (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (+.f64 (*.f64 (-.f64 1 (*.f64 1/2 x)) (sqrt.f64 1/2)) (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x))) (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x))) (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x))) (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x))) (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))))))))
(asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)) (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))))))
(asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)) (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))))))
(asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)) (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))))))
(asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)) (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))))))
(asin.f64 (+.f64 (*.f64 (-.f64 1 (*.f64 1/2 x)) (sqrt.f64 1/2)) (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))))))
(asin.f64 (+.f64 (*.f64 (-.f64 1 (*.f64 1/2 x)) (sqrt.f64 1/2)) (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))))))
(asin.f64 (+.f64 (*.f64 (-.f64 1 (*.f64 1/2 x)) (sqrt.f64 1/2)) (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))))))
(asin.f64 (+.f64 (*.f64 (-.f64 1 (*.f64 1/2 x)) (sqrt.f64 1/2)) (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))))))
(asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x))) (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))))))
(asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x))) (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))))))
(asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x))) (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))))))
(asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x))) (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))))))
(*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3)))
(*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3)))
(*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3)))
(*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3)))
(*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3)))
(*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3)))
(*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3)))
(*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3)))
(*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3)))
(*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3)))
(*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3)))
(*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3)))
(+.f64 (/.f64 (PI.f64) 2) (*.f64 (asin.f64 (+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (*.f64 -1/16 (pow.f64 x 3)))))) -2))
(+.f64 (-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (*.f64 -1/16 (pow.f64 x 3)))))))) 0)
(+.f64 0 (-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (*.f64 -1/16 (pow.f64 x 3)))))))))
(+.f64 (*.f64 (asin.f64 (+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (*.f64 -1/16 (pow.f64 x 3)))))) -2) (/.f64 (PI.f64) 2))
(*.f64 1 (-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (*.f64 -1/16 (pow.f64 x 3)))))))))
(*.f64 (-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (*.f64 -1/16 (pow.f64 x 3)))))))) 1)
(*.f64 (-.f64 (*.f64 2 (asin.f64 (+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (*.f64 -1/16 (pow.f64 x 3))))))) (/.f64 (PI.f64) 2)) -1)
(*.f64 -1 (-.f64 (*.f64 2 (asin.f64 (+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (*.f64 -1/16 (pow.f64 x 3))))))) (/.f64 (PI.f64) 2)))
(neg.f64 (-.f64 (*.f64 2 (asin.f64 (+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (*.f64 -1/16 (pow.f64 x 3))))))) (/.f64 (PI.f64) 2)))
(+.f64 (asin.f64 (+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (*.f64 -1/16 (pow.f64 x 3)))))) 0)
(+.f64 0 (asin.f64 (+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (*.f64 -1/16 (pow.f64 x 3)))))))
(*.f64 1 (asin.f64 (+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (*.f64 -1/16 (pow.f64 x 3)))))))
(*.f64 (asin.f64 (+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (*.f64 -1/16 (pow.f64 x 3)))))) 1)
(*.f64 -1 (*.f64 (asin.f64 (+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (*.f64 -1/16 (pow.f64 x 3)))))) -1))
(*.f64 (*.f64 (asin.f64 (+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (*.f64 -1/16 (pow.f64 x 3)))))) -1) -1)
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2)) 0)
(+.f64 0 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2)))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 -1/16 (pow.f64 x 3))) 0)
(+.f64 0 (*.f64 (sqrt.f64 1/2) (*.f64 -1/16 (pow.f64 x 3))))
Outputs
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x))) (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))))))))
(+.f64 (*.f64 1/2 (PI.f64)) (*.f64 (asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (-.f64 1 (*.f64 1/2 x)))))) -2))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x))) (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))))))))
(+.f64 (*.f64 1/2 (PI.f64)) (*.f64 (asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (-.f64 1 (*.f64 1/2 x)))))) -2))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x))) (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))))))))
(+.f64 (*.f64 1/2 (PI.f64)) (*.f64 (asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (-.f64 1 (*.f64 1/2 x)))))) -2))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x))) (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))))))))
(+.f64 (*.f64 1/2 (PI.f64)) (*.f64 (asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (-.f64 1 (*.f64 1/2 x)))))) -2))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (+.f64 (*.f64 (-.f64 1 (*.f64 1/2 x)) (sqrt.f64 1/2)) (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))))))))
(+.f64 (*.f64 1/2 (PI.f64)) (*.f64 (asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (-.f64 1 (*.f64 1/2 x)))))) -2))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (+.f64 (*.f64 (-.f64 1 (*.f64 1/2 x)) (sqrt.f64 1/2)) (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))))))))
(+.f64 (*.f64 1/2 (PI.f64)) (*.f64 (asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (-.f64 1 (*.f64 1/2 x)))))) -2))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (+.f64 (*.f64 (-.f64 1 (*.f64 1/2 x)) (sqrt.f64 1/2)) (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))))))))
(+.f64 (*.f64 1/2 (PI.f64)) (*.f64 (asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (-.f64 1 (*.f64 1/2 x)))))) -2))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (+.f64 (*.f64 (-.f64 1 (*.f64 1/2 x)) (sqrt.f64 1/2)) (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))))))))
(+.f64 (*.f64 1/2 (PI.f64)) (*.f64 (asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (-.f64 1 (*.f64 1/2 x)))))) -2))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x))) (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))))))))
(+.f64 (*.f64 1/2 (PI.f64)) (*.f64 (asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (-.f64 1 (*.f64 1/2 x)))))) -2))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x))) (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))))))))
(+.f64 (*.f64 1/2 (PI.f64)) (*.f64 (asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (-.f64 1 (*.f64 1/2 x)))))) -2))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x))) (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))))))))
(+.f64 (*.f64 1/2 (PI.f64)) (*.f64 (asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (-.f64 1 (*.f64 1/2 x)))))) -2))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x))) (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))))))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))))))))
(+.f64 (*.f64 1/2 (PI.f64)) (*.f64 (asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (-.f64 1 (*.f64 1/2 x)))))) -2))
(asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)) (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))))))
(asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))))))
(asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (-.f64 1 (*.f64 1/2 x))))))
(asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)) (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))))))
(asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))))))
(asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (-.f64 1 (*.f64 1/2 x))))))
(asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)) (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))))))
(asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))))))
(asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (-.f64 1 (*.f64 1/2 x))))))
(asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 (+.f64 (*.f64 -1/2 x) 1) (sqrt.f64 1/2)) (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))))))
(asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))))))
(asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (-.f64 1 (*.f64 1/2 x))))))
(asin.f64 (+.f64 (*.f64 (-.f64 1 (*.f64 1/2 x)) (sqrt.f64 1/2)) (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))))))
(asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))))))
(asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (-.f64 1 (*.f64 1/2 x))))))
(asin.f64 (+.f64 (*.f64 (-.f64 1 (*.f64 1/2 x)) (sqrt.f64 1/2)) (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))))))
(asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))))))
(asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (-.f64 1 (*.f64 1/2 x))))))
(asin.f64 (+.f64 (*.f64 (-.f64 1 (*.f64 1/2 x)) (sqrt.f64 1/2)) (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))))))
(asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))))))
(asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (-.f64 1 (*.f64 1/2 x))))))
(asin.f64 (+.f64 (*.f64 (-.f64 1 (*.f64 1/2 x)) (sqrt.f64 1/2)) (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))))))
(asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))))))
(asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (-.f64 1 (*.f64 1/2 x))))))
(asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x))) (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))))))
(asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))))))
(asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (-.f64 1 (*.f64 1/2 x))))))
(asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x))) (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))))))
(asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))))))
(asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (-.f64 1 (*.f64 1/2 x))))))
(asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x))) (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))))))
(asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))))))
(asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (-.f64 1 (*.f64 1/2 x))))))
(asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 x))) (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))))))
(asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))))))
(asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (-.f64 1 (*.f64 1/2 x))))))
(*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3)))
(*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3)))
(*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3)))
(*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3)))
(*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3)))
(*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3)))
(*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3)))
(*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3)))
(*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3)))
(*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3)))
(*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3)))
(*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3)))
(+.f64 (/.f64 (PI.f64) 2) (*.f64 (asin.f64 (+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (*.f64 -1/16 (pow.f64 x 3)))))) -2))
(+.f64 (/.f64 (PI.f64) 2) (*.f64 (asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2)))))) -2))
(-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (-.f64 1 (*.f64 1/2 x))))))))
(+.f64 (-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (*.f64 -1/16 (pow.f64 x 3)))))))) 0)
(+.f64 (-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2)))))))) 0)
(+.f64 (-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (-.f64 1 (*.f64 1/2 x)))))))) 0)
(+.f64 0 (-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (*.f64 -1/16 (pow.f64 x 3)))))))))
(+.f64 (-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2)))))))) 0)
(+.f64 (-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (-.f64 1 (*.f64 1/2 x)))))))) 0)
(+.f64 (*.f64 (asin.f64 (+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (*.f64 -1/16 (pow.f64 x 3)))))) -2) (/.f64 (PI.f64) 2))
(+.f64 (/.f64 (PI.f64) 2) (*.f64 (asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2)))))) -2))
(-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (-.f64 1 (*.f64 1/2 x))))))))
(*.f64 1 (-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (*.f64 -1/16 (pow.f64 x 3)))))))))
(+.f64 (/.f64 (PI.f64) 2) (*.f64 (asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2)))))) -2))
(-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (-.f64 1 (*.f64 1/2 x))))))))
(*.f64 (-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (*.f64 -1/16 (pow.f64 x 3)))))))) 1)
(+.f64 (/.f64 (PI.f64) 2) (*.f64 (asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2)))))) -2))
(-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (-.f64 1 (*.f64 1/2 x))))))))
(*.f64 (-.f64 (*.f64 2 (asin.f64 (+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (*.f64 -1/16 (pow.f64 x 3))))))) (/.f64 (PI.f64) 2)) -1)
(+.f64 (/.f64 (PI.f64) 2) (*.f64 (asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2)))))) -2))
(-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (-.f64 1 (*.f64 1/2 x))))))))
(*.f64 -1 (-.f64 (*.f64 2 (asin.f64 (+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (*.f64 -1/16 (pow.f64 x 3))))))) (/.f64 (PI.f64) 2)))
(+.f64 (/.f64 (PI.f64) 2) (*.f64 (asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2)))))) -2))
(-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (-.f64 1 (*.f64 1/2 x))))))))
(neg.f64 (-.f64 (*.f64 2 (asin.f64 (+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (*.f64 -1/16 (pow.f64 x 3))))))) (/.f64 (PI.f64) 2)))
(+.f64 (/.f64 (PI.f64) 2) (*.f64 (asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2)))))) -2))
(-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (-.f64 1 (*.f64 1/2 x))))))))
(+.f64 (asin.f64 (+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (*.f64 -1/16 (pow.f64 x 3)))))) 0)
(+.f64 (asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2)))))) 0)
(+.f64 (asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (-.f64 1 (*.f64 1/2 x)))))) 0)
(+.f64 0 (asin.f64 (+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (*.f64 -1/16 (pow.f64 x 3)))))))
(+.f64 (asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2)))))) 0)
(+.f64 (asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (-.f64 1 (*.f64 1/2 x)))))) 0)
(*.f64 1 (asin.f64 (+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (*.f64 -1/16 (pow.f64 x 3)))))))
(*.f64 1 (asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2)))))))
(*.f64 1 (asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (-.f64 1 (*.f64 1/2 x)))))))
(*.f64 (asin.f64 (+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (*.f64 -1/16 (pow.f64 x 3)))))) 1)
(*.f64 1 (asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2)))))))
(*.f64 1 (asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (-.f64 1 (*.f64 1/2 x)))))))
(*.f64 -1 (*.f64 (asin.f64 (+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (*.f64 -1/16 (pow.f64 x 3)))))) -1))
(*.f64 1 (asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2)))))))
(*.f64 1 (asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (-.f64 1 (*.f64 1/2 x)))))))
(*.f64 (*.f64 (asin.f64 (+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (*.f64 -1/16 (pow.f64 x 3)))))) -1) -1)
(*.f64 1 (asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2)))))))
(*.f64 1 (asin.f64 (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2))) (*.f64 (sqrt.f64 1/2) (-.f64 1 (*.f64 1/2 x)))))))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2)) 0)
(+.f64 0 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2)))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2)) 0)
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 -1/16 (pow.f64 x 3))) 0)
(+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) 0)
(+.f64 0 (*.f64 (sqrt.f64 1/2) (*.f64 -1/16 (pow.f64 x 3))))
(+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3))) 0)

eval41.0ms (1%)

Compiler

Compiled 1910 to 1686 computations (11.7% saved)

prune12.0ms (0.3%)

Pruning

5 alts after pruning (1 fresh and 4 done)

PrunedKeptTotal
New76177
Fresh000
Picked011
Done033
Total76581
Error
58.4b
Counts
81 → 5
Alt Table
Click to see full alt table
StatusErrorProgram
59.6b
(-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (+.f64 (+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))) (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2)))) (*.f64 (sqrt.f64 1/2) (*.f64 -1/16 (pow.f64 x 3)))))))
60.1b
(-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))))))
61.4b
(-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 -1/2 x)))))
59.3b
(-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2)))))
61.5b
(-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (sqrt.f64 1/2))))
Compiler

Compiled 88 to 82 computations (6.8% saved)

localize21.0ms (0.5%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 -1/2 x)))
0.0b
(-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 -1/2 x)))))
0.5b
(*.f64 (sqrt.f64 1/2) (*.f64 -1/2 x))
Compiler

Compiled 49 to 41 computations (16.3% saved)

series3.0ms (0.1%)

Counts
3 → 36
Calls

9 calls:

TimeVariablePointExpression
1.0ms
x
@-inf
(*.f64 (sqrt.f64 1/2) (*.f64 -1/2 x))
1.0ms
x
@0
(*.f64 (sqrt.f64 1/2) (*.f64 -1/2 x))
0.0ms
x
@-inf
(-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 -1/2 x)))))
0.0ms
x
@inf
(*.f64 (sqrt.f64 1/2) (*.f64 -1/2 x))
0.0ms
x
@inf
(-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 -1/2 x)))))

rewrite12.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
78×rational.json-simplify-2
68×bool.json-1
54×rational.json-1
54×rational.json-2
46×rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01679
17779
214079
319179
421779
523479
624179
725279
Stop Event
saturated
Counts
3 → 17
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 1/2) (*.f64 -1/2 x))
(-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 -1/2 x)))))
(asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 -1/2 x)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 1/2) (*.f64 -1/2 x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sqrt.f64 1/2) (*.f64 -1/2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (sqrt.f64 1/2) (*.f64 -1/2 x)) (*.f64 (sqrt.f64 1/2) (*.f64 -1/2 x)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (PI.f64) 2) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 -1/2 x))) -2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (/.f64 (PI.f64) 2) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 -1/2 x))) -2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (+.f64 (/.f64 (PI.f64) 2) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 -1/2 x))) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 -1/2 x))) -2) (/.f64 (PI.f64) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (/.f64 (PI.f64) 2) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 -1/2 x))) -2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (/.f64 (PI.f64) 2) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 -1/2 x))) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 -1/2 x)))) (/.f64 (PI.f64) 2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 -1/2 x)))) (/.f64 (PI.f64) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 -1/2 x)))) (/.f64 (PI.f64) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (/.f64 (PI.f64) 2) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 -1/2 x))) -2)) (+.f64 (/.f64 (PI.f64) 2) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 -1/2 x))) -2)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 -1/2 x))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 -1/2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 -1/2 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 -1/2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 -1/2 x))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 -1/2 x))) -1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x or (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 -1/2 x))) (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 -1/2 x))))))))

simplify37.0ms (0.9%)

Algorithm
egg-herbie
Rules
110×rational.json-simplify-31
110×rational.json-simplify-2
48×rational.json-simplify-1
46×rational.json-simplify-27
38×rational.json-simplify-9
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0451537
1681537
2881537
31121537
41501537
51871537
62281537
72541537
82871537
93001537
Stop Event
saturated
Counts
53 → 25
Calls
Call 1
Inputs
(*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x))
(*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x))
(*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x))
(*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x))
(*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x))
(*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x))
(*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x))
(*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x))
(*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x))
(*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x))
(*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x))
(*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))))
(asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))
(asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))
(asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))
(asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))
(asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))
(asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))
(asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))
(asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))
(asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))
(asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))
(asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))
(asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 -1/2 x)) 0)
(+.f64 0 (*.f64 (sqrt.f64 1/2) (*.f64 -1/2 x)))
(+.f64 (/.f64 (PI.f64) 2) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 -1/2 x))) -2))
(+.f64 (+.f64 (/.f64 (PI.f64) 2) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 -1/2 x))) -2)) 0)
(+.f64 0 (+.f64 (/.f64 (PI.f64) 2) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 -1/2 x))) -2)))
(+.f64 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 -1/2 x))) -2) (/.f64 (PI.f64) 2))
(*.f64 (+.f64 (/.f64 (PI.f64) 2) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 -1/2 x))) -2)) 1)
(*.f64 1 (+.f64 (/.f64 (PI.f64) 2) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 -1/2 x))) -2)))
(*.f64 (-.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 -1/2 x)))) (/.f64 (PI.f64) 2)) -1)
(*.f64 -1 (-.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 -1/2 x)))) (/.f64 (PI.f64) 2)))
(neg.f64 (-.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 -1/2 x)))) (/.f64 (PI.f64) 2)))
(+.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 -1/2 x))) 0)
(+.f64 0 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 -1/2 x))))
(*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 -1/2 x))) 1)
(*.f64 1 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 -1/2 x))))
(*.f64 -1 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 -1/2 x))) -1))
(*.f64 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 -1/2 x))) -1) -1)
Outputs
(*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x))
(*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x))
(*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x))
(*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x))
(*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x))
(*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x))
(*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x))
(*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x))
(*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x))
(*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x))
(*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x))
(*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))))
(-.f64 (*.f64 1/2 (PI.f64)) (*.f64 2 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))))
(asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))
(asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))
(asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))
(asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))
(asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))
(asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))
(asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))
(asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))
(asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))
(asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))
(asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))
(asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 -1/2 x)) 0)
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)) 0)
(+.f64 0 (*.f64 (sqrt.f64 1/2) (*.f64 -1/2 x)))
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x)) 0)
(+.f64 (/.f64 (PI.f64) 2) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 -1/2 x))) -2))
(+.f64 (/.f64 (PI.f64) 2) (*.f64 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x))) -2))
(+.f64 (+.f64 (/.f64 (PI.f64) 2) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 -1/2 x))) -2)) 0)
(+.f64 0 (+.f64 (/.f64 (PI.f64) 2) (*.f64 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x))) -2)))
(+.f64 0 (+.f64 (/.f64 (PI.f64) 2) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 -1/2 x))) -2)))
(+.f64 0 (+.f64 (/.f64 (PI.f64) 2) (*.f64 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x))) -2)))
(+.f64 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 -1/2 x))) -2) (/.f64 (PI.f64) 2))
(+.f64 (/.f64 (PI.f64) 2) (*.f64 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x))) -2))
(*.f64 (+.f64 (/.f64 (PI.f64) 2) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 -1/2 x))) -2)) 1)
(+.f64 (/.f64 (PI.f64) 2) (*.f64 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x))) -2))
(*.f64 1 (+.f64 (/.f64 (PI.f64) 2) (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 -1/2 x))) -2)))
(+.f64 (/.f64 (PI.f64) 2) (*.f64 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x))) -2))
(*.f64 (-.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 -1/2 x)))) (/.f64 (PI.f64) 2)) -1)
(+.f64 (/.f64 (PI.f64) 2) (*.f64 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x))) -2))
(*.f64 -1 (-.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 -1/2 x)))) (/.f64 (PI.f64) 2)))
(+.f64 (/.f64 (PI.f64) 2) (*.f64 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x))) -2))
(neg.f64 (-.f64 (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 -1/2 x)))) (/.f64 (PI.f64) 2)))
(+.f64 (/.f64 (PI.f64) 2) (*.f64 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x))) -2))
(+.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 -1/2 x))) 0)
(+.f64 0 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x))))
(+.f64 0 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 -1/2 x))))
(+.f64 0 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x))))
(*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 -1/2 x))) 1)
(*.f64 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x))) 1)
(*.f64 1 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 -1/2 x))))
(*.f64 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x))) 1)
(*.f64 -1 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 -1/2 x))) -1))
(*.f64 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x))) 1)
(*.f64 (*.f64 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 -1/2 x))) -1) -1)
(*.f64 (asin.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) x))) 1)

eval8.0ms (0.2%)

Compiler

Compiled 367 to 318 computations (13.4% saved)

prune10.0ms (0.2%)

Pruning

5 alts after pruning (0 fresh and 5 done)

PrunedKeptTotal
New25025
Fresh000
Picked011
Done044
Total25530
Error
58.4b
Counts
30 → 5
Alt Table
Click to see full alt table
StatusErrorProgram
59.6b
(-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (+.f64 (+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))) (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2)))) (*.f64 (sqrt.f64 1/2) (*.f64 -1/16 (pow.f64 x 3)))))))
60.1b
(-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))))))
61.4b
(-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 -1/2 x)))))
59.3b
(-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2)))))
61.5b
(-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (sqrt.f64 1/2))))
Compiler

Compiled 88 to 82 computations (6.8% saved)

regimes25.0ms (0.6%)

Accuracy

Total -3.2b remaining (-5.4%)

Threshold costs -3.2b (-5.4%)

Counts
5 → 1
Calls
Call 1
Inputs
(-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (sqrt.f64 1/2))))
(-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2)))))
(-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (*.f64 -1/2 x)))))
(-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))))))
(-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (+.f64 (+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 x -1/2))) (*.f64 -1/8 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2)))) (*.f64 (sqrt.f64 1/2) (*.f64 -1/16 (pow.f64 x 3)))))))
Outputs
(-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2)))))
Calls

7 calls:

9.0ms
x
2.0ms
(-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2)))))
2.0ms
(*.f64 2 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2))))
2.0ms
(asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2)))
2.0ms
(/.f64 (-.f64 1 x) 2)
Results
ErrorSegmentsBranch
59.3b1x
59.3b1(-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2)))))
59.3b1(*.f64 2 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2))))
59.3b1(asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2)))
59.3b1(sqrt.f64 (/.f64 (-.f64 1 x) 2))
59.3b1(/.f64 (-.f64 1 x) 2)
59.3b1(-.f64 1 x)
Compiler

Compiled 135 to 118 computations (12.6% saved)

simplify2.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02070
Stop Event
done
saturated
Calls
Call 1
Inputs
(-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2)))))
(-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (sqrt.f64 1/2))))
Outputs
(-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2)))))
(-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (sqrt.f64 1/2))))
Compiler

Compiled 24 to 23 computations (4.2% saved)

soundness0.0ms (0%)

end25.0ms (0.6%)

Compiler

Compiled 23 to 21 computations (8.7% saved)

Profiling

Loading profile data...